自定义Log4cpp的日志输出格式

// 1. 实例化一个PatternLayout对象
log4cpp::PatternLayout* pLayout = new log4cpp::PatternLayout();
// 2. 实例化一个RollingFileAppender对象
log4cpp::RollingFileAppender* rollingAppender = new log4cpp::RollingFileAppender("RollingFileAppender",path);
pLayout->setConversionPattern("%d:[%t][%05p] %c %x- %m%n");
// 3. 把pLayout对象附着在rollingAppender对象上   
rollingAppender->setLayout(pLayout);
// 4. 实例化一个category对象
log4cpp::Category& logcat = log4cpp::Category::getInstance(CATRGORY_NAME);
// 5. 设置additivity为false,替换已有的appender
logcat.setAdditivity(false);
// 5. 把appender对象附到category上
logcat.setAppender(rollingAppender);
// 6. 设置category的优先级,低于此优先级的日志不被记录
switch (level)
{
case DebugLevel:
    logcat.setPriority(log4cpp::Priority::DEBUG);
    break;
case InfoLevel:
    logcat.setPriority(log4cpp::Priority::INFO);
    break;
case WarnLevel:
    logcat.setPriority(log4cpp::Priority::WARN);
    break;
case ErrLevel:
    logcat.setPriority(log4cpp::Priority::ERROR);
    break;
default:
    logcat.setPriority(log4cpp::Priority::INFO);
    break;
}

// 记录开始日志
logcat.alert("-------------Init-------------");

时间: 2024-07-29 17:15:43

自定义Log4cpp的日志输出格式的相关文章

log4j设定日志输出格式

在配置文件中可以通过log4j.appender.A1.layout.ConversionPattern设置日志输出格式. 参数: %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息

自定义nginx访问日志和内置变量使用

自定义nginx访问日志和内置变量使用 安装第三方echo模块后查看内置变量 内置变量 1.$args 用户在浏览器中查找的相关参数(uri中?之后的字段)2.$document_root 站点根目录所在的位置3.$document_uri 去除url中域名部分后所剩下的目录4.$host 所访问的主机5.$http_user_agent 客户端所使用的浏览器6.$http_cookie 客户端的cookie信息7.$limit_rate 客户端的下载速率0表示不限制速度 server { se

(转)利用Spring AOP自定义注解解决日志和签名校验

一.需解决的问题 部分API有签名参数(signature),Passport首先对签名进行校验,校验通过才会执行实现方法. 第一种实现方式(Origin):在需要签名校验的接口里写校验的代码,例如: boolean isValid = accountService.validSignature(appid, signature, client_signature); if (!isValid) return ErrorUtil.buildError(ErrorUtil.ERR_CODE_COM

利用Spring AOP自定义注解解决日志和签名校验

转载:http://www.cnblogs.com/shipengzhi/articles/2716004.html 一.需解决的问题 部分API有签名参数(signature),Passport首先对签名进行校验,校验通过才会执行实现方法. 第一种实现方式(Origin):在需要签名校验的接口里写校验的代码,例如: boolean isValid = accountService.validSignature(appid, signature, client_signature); if (!

spring AOP自定义注解 实现日志管理

今天继续实现AOP,到这里我个人认为是最灵活,可扩展的方式了,就拿日志管理来说,用Spring AOP 自定义注解形式实现日志管理.废话不多说,直接开始!!! 关于配置我还是的再说一遍. 在applicationContext-mvc.xml中要添加的 <mvc:annotation-driven />     <!-- 激活组件扫描功能,在包com.gcx及其子包下面自动扫描通过注解配置的组件 -->     <context:component-scan base-pac

discuzx3.2自定义积分操作日志,discuzx积分二次开发完全记录

详情参考:http://www.infosz.com/forum.php?mod=viewthread&tid=265 1 source\include\spacecp\spacecp_credit.php,分支中加入自己操作的标识(KEY),例如: 2 source\language\lang_spacecp.php 语言包中加入自己操作事件的名称,其中'credit_for_duihuan_gift'为积分日志, 'logs_credit_update_DLP' 积分日志查询类型 例如: 3

spring Aspect 实现自定义注解的日志记录

由于直接拦截所有的controller所以需要spring.xml中添加<aop:aspectj-autoproxy proxy-target-class="true" />  交由cglib代理. 使用只要在controller的method上加上@ActionControllerLog(channel="web",action="user_register",title="用户注册",isSaveRequest

log4j日志输出格式一览

%c 输出日志信息所属的类的全名%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28%f 输出日志信息所属的类的类名%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行%m 输出代码中指定的信息,如log(message)中的message%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”%p 输出优先级,即DEBUG

git日志输出格式及两个版本之间差异列表

查看commit id git log --pretty=format:"%h" git log --pretty=format:"%H" 获取两个版本间差异的文件列表(最好是通过git log --pretty=format:"%H",获取完整的commit id,否则linux下有可能报错.) git diff e83228e d9878b88 --name-only 当前版本id git rev-parse HEAD 带目录结构复制文件 c