log4cxx多用户的真正解决 配制与代码
2014-06-13 16:29
369 查看
配制文件 log4cxx.properties
# 设置root logger为DEBUG级别,使用了ca,fa,err三个Appender
#设置spirit为ERROR级别,继承rootLogger的Appender
log4j.logger.err=DEBUG,err
log4j.additivity.err=false
log4j.logger.info=DEBUG,info
log4j.additivity.info=false
log4j.logger.res=DEBUG,res
log4j.additivity.res=false
log4j.logger.event=DEBUG,event
log4j.additivity.event=false
log4j.logger.login=DEBUG,login
log4j.additivity.login=false
//log4j.spirit=ERROR
#对Appender info进行设置:
#这是一个控制台类型的Appender
#输出格式(layout)为PatternLayout
log4j.appender.login=org.apache.log4j.FileAppender
log4j.appender.login.File=log/Login/Login.log
log4j.appender.login.Append=true
log4j.appender.login.layout=org.apache.log4j.PatternLayout
log4j.appender.login.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n
#对Appender err进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.err=org.apache.log4j.FileAppender
log4j.appender.err.File=log/Err/Err.log
log4j.appender.err.Append=true
log4j.appender.err.layout=org.apache.log4j.PatternLayout
log4j.appender.err.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
#对Appender info进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.event=org.apache.log4j.FileAppender
log4j.appender.event.File=log/Event/Event.log
log4j.appender.event.Append=true
log4j.appender.event.layout=org.apache.log4j.PatternLayout
log4j.appender.event.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
#对Appender info进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.info=org.apache.log4j.FileAppender
log4j.appender.info.File=log/Log/Log.log
log4j.appender.info.Append=true
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
#对Appender info进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.res=org.apache.log4j.FileAppender
log4j.appender.res.File=log/Res/Res.log
log4j.appender.res.Append=true
log4j.appender.res.layout=org.apache.log4j.PatternLayout
log4j.appender.res.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
代码片段如下
#include <log4cxx/logger.h>
#include <log4cxx/propertyconfigurator.h>
#include <log4cxx/helpers/exception.h>
#include "StdAfx.h"
#include "Log.h"
#include <string>
#include "afxmt.h"
using namespace std;
Log::Log(void){
// 由于写日志的方法都是静态的, 这里的日志初始化无效,已经改到系统初始化中
//string path = ApplactionManager::GetInstance()->m_AppPath + "properties/log4cxx.properties";
//PropertyConfigurator::configure(path);
}
Log::~Log(void)
{
}
// 事件日志
void Log::Event(CString log){
static LoggerPtr eLog = Logger::getLogger("event");
string e = _T(log);
eLog->info(e);
}
// 流程日志
void Log::Info(CString log){
static LoggerPtr iLog = Logger::getLogger("info");
string e = _T(log);
iLog->info(e);
}
// Res日志
void Log::Res(CString log){
static LoggerPtr rLog = Logger::getLogger("res");
string e = _T(log);
rLog->info(e);
}
// 硬件注册日志
void Log::Login(CString log){
static LoggerPtr lLog = Logger::getLogger("login");
string e = _T(log);
lLog->info(e);
}
// 错误日志
void Log::Err(CString log){
static LoggerPtr erLog = Logger::getLogger("err");
string e = _T(log);
erLog->info(e);
}
转载:点击打开链接
# 设置root logger为DEBUG级别,使用了ca,fa,err三个Appender
#设置spirit为ERROR级别,继承rootLogger的Appender
log4j.logger.err=DEBUG,err
log4j.additivity.err=false
log4j.logger.info=DEBUG,info
log4j.additivity.info=false
log4j.logger.res=DEBUG,res
log4j.additivity.res=false
log4j.logger.event=DEBUG,event
log4j.additivity.event=false
log4j.logger.login=DEBUG,login
log4j.additivity.login=false
//log4j.spirit=ERROR
#对Appender info进行设置:
#这是一个控制台类型的Appender
#输出格式(layout)为PatternLayout
log4j.appender.login=org.apache.log4j.FileAppender
log4j.appender.login.File=log/Login/Login.log
log4j.appender.login.Append=true
log4j.appender.login.layout=org.apache.log4j.PatternLayout
log4j.appender.login.layout.ConversionPattern=%d [%t] %-5p %.16c - %m%n
#对Appender err进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.err=org.apache.log4j.FileAppender
log4j.appender.err.File=log/Err/Err.log
log4j.appender.err.Append=true
log4j.appender.err.layout=org.apache.log4j.PatternLayout
log4j.appender.err.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
#对Appender info进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.event=org.apache.log4j.FileAppender
log4j.appender.event.File=log/Event/Event.log
log4j.appender.event.Append=true
log4j.appender.event.layout=org.apache.log4j.PatternLayout
log4j.appender.event.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
#对Appender info进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.info=org.apache.log4j.FileAppender
log4j.appender.info.File=log/Log/Log.log
log4j.appender.info.Append=true
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
#对Appender info进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.res=org.apache.log4j.FileAppender
log4j.appender.res.File=log/Res/Res.log
log4j.appender.res.Append=true
log4j.appender.res.layout=org.apache.log4j.PatternLayout
log4j.appender.res.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
代码片段如下
#include <log4cxx/logger.h>
#include <log4cxx/propertyconfigurator.h>
#include <log4cxx/helpers/exception.h>
#include "StdAfx.h"
#include "Log.h"
#include <string>
#include "afxmt.h"
using namespace std;
Log::Log(void){
// 由于写日志的方法都是静态的, 这里的日志初始化无效,已经改到系统初始化中
//string path = ApplactionManager::GetInstance()->m_AppPath + "properties/log4cxx.properties";
//PropertyConfigurator::configure(path);
}
Log::~Log(void)
{
}
// 事件日志
void Log::Event(CString log){
static LoggerPtr eLog = Logger::getLogger("event");
string e = _T(log);
eLog->info(e);
}
// 流程日志
void Log::Info(CString log){
static LoggerPtr iLog = Logger::getLogger("info");
string e = _T(log);
iLog->info(e);
}
// Res日志
void Log::Res(CString log){
static LoggerPtr rLog = Logger::getLogger("res");
string e = _T(log);
rLog->info(e);
}
// 硬件注册日志
void Log::Login(CString log){
static LoggerPtr lLog = Logger::getLogger("login");
string e = _T(log);
lLog->info(e);
}
// 错误日志
void Log::Err(CString log){
static LoggerPtr erLog = Logger::getLogger("err");
string e = _T(log);
erLog->info(e);
}
转载:点击打开链接
相关文章推荐
- log4cxx多用户的真正解决 配制与代码
- 交接工作不要只分析流程和看静态的看代码呀,一定要动手,增加一个功能,解决一个 BUG什么的,才能真正理解交接的工作内容呀!
- 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联'。错误代码:18452 解决办法
- 如何真正解决“ UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该...”的问题
- 【SVN多用户开发】代码冲突&解决办法
- 微信公众号网页授权产生 错误代码:40029 真正解决
- C#中DataGridView绑定了DataTable后,通过代码修改DataGridView中的数据,总有一行(被修改过并被用户选中的行集合中索引为0的行)不能被UpDate回数据库的问题和解决办法
- 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
- 【SVN多用户开发】代码冲突&解决办法
- JSON乱码的解决方式 和用户中心通用代码
- SVN多用户开发 代码冲突&解决办法
- 禁止在.net framework中执行用户代码。启用“clr enabled” 配置选项——解决办法
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项 解决办法
- 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
- 【SVN多用户开发】代码冲突&解决办法
- 用户代码未处理 JsonSerializationExection 之解决方法
- SQL SERVER禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项 解决办法
- 【SVN多用户开发】代码冲突&解决办法
- 禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项 解决办法
- 完成端口GetQueuedCompletionStatus()返回错误,怎样获得真正的错误代码,错误返回64解决办法