log4j 打印线程号配置_log4j打印出线程号和方法名

本文介绍了如何配置Log4j以打印线程号和方法名,提供了详细的配置示例,包括DailyRollingFileAppender和ConsoleAppender的设置。通过ConversionPattern参数,可以自定义输出格式,例如%d %5p %t (%c.%M:%L) - %m%n,以便在日志中包含日期、优先级、线程名、类名和方法行号。
摘要由CSDN通过智能技术生成

先参考实现配置,如果想要更加详细的配置,可加上更多参数:

log4j.rootLogger = INFO,FILE,CONSOLE

log4j.appender.FILE.Threshold=INFO

log4j.appender.FILE.encoding=UTF-8

log4j.appender.FILE = org.apache.log4j.DailyRollingFileAppender

log4j.appender.FILE.File=d:/logtest/logtest.log

log4j.appender.FILE.ImmediateFlush=true

log4j.appender.FILE.DatePattern='_'yyyy-MM-dd

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout

log4j.appender.FILE.layout.ConversionPattern=%d %5p %t (%c.%M:%L) - %m%n

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.Threshold=INFO

log4j.appender.CONSOLE.Target=System.out

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p %t (%c.%M:%L) - %m%n

#log4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n

其他参数:

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 :10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

%x Used to output the NDC (nested diagnostic context) associated with the thread that generated the logging event

%X Used to output the MDC (mapped diagnostic context) associated with the thread that generated the logging event for specified key

参考文章:http://ajita.iteye.com/blog/1552988

在java中捕获异常时,使用log4j打印出错误堆栈信息

当java捕获到异常时,把详细的堆栈信息打印出来有助于我们排查异常原因,并修复相关bug,比如下面两张图,是打印未打印堆栈信息和打印堆栈信息的对比: 那么在使用log4j输出日志时,使用org.apa ...

日志配置log4j 打印线程号

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # Set root logger level to WARN and a ...

.NET 中获取调用方法名

在写记录日志功能时,需要记录日志调用方所在的模块名.命名空间名.类名以及方法名,想到使用的是反射(涉及到反射请注意性能),但具体是哪一块儿还不了解,于是搜索,整理如下: 需要添加相应的命名空间: us ...

c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法

GCC Function instrumentation机制可以用来跟踪函数的调用关系,在gcc中对应的选项为“-finstrument-functions”.可查看gcc的man page来获取更详 ...

log4j打印错误异常的详细堆栈信息

一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ...

PHP 获取当前类名、方法名、URL地址

1.PHP获取当前类名.方法名  __CLASS__ 获取当前类名  __FUNCTION__ 当前函数名(confirm)  __METHOD__ 当前方法名 (bankcard::confir ...

子类重载父类的方法“parent::方法名”转于 恩聪PHP学习教程

在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载.单在子类中可以定义和父类重名的方法,因为父类的方法已经在子类中存在,这样在子类中就可以把从父类中继承过来的方法 ...

子类重载父类的方法“parent:方法名”

在PHP中不能定义重名的函数,也包括不能再同一个类中定义重名的方法,所以也就没有方法重载.单在子类中可以定义和父类重名的方法,因为父类的方法已经在子类中存在,这样在子类中就可以把从父类中继承过来的方法 ...

mybatis下使用log4j打印sql语句和执行结果

转载自:https://www.cnblogs.com/jeevan/p/3493972.html 本来以为很简单的问题, 结果自己搞了半天还是不行; 然后google, baidu, 搜出来各种方法 ...

随机推荐

安装Visual Studio 2013 出现0x80070643错误

安装Visual Studio 2013 没一会就出现问题:安装.net framework4.5.1出现严重错误.点击常见问题和解决方案的链接和日志文件,日志里说是0x80070643类型的错误,在 ...

ubuntu下Qt cannot find -lGL错误的解决方法 (转载)

在ubuntu下使用Qt 编译时候遇上了cannot find -lGL错误,使用命令 sudo apt-get install libqt4-dev或者sudo apt-get install li ...

python 在调用时计算默认值

大家都知道python的默认值是在函数定义时计算出来的, 也就是说默认值只会计算一次, 之后函数调用时, 如果参数没有给出,同一个值会赋值给变量, 这会导致, 如果我们想要一个list默认值, 新手通 ...

Hibernate更新数据(不用update也可以)

在介绍hibernate的更新之前,我们先来看看session的两个方法.load和get方法:这两个方法是获取数据的根据对象的id值: 先看两段代码.load和get的方法都含有两个参数,前者是得到 ...

(NO.00002)iOS游戏精灵战争雏形(四)

在Xcode打开MainScene,添加初始化代码如下: -(void)didLoadFromCCB{ NSAssert(_sprite1, @"_sprite1 must not nil& ...

ADO.NET中COMMAND对象的ExecuteNonQuery、ExcuteReader和ExecuteScalar方法

1.ExecuteNonQuery方法.该方法执行更新操作,即与UPDATE.INSERT.DELETE等语句有关的操作,在这种情况下,返回值是命令影响的行数.对其他语句,如SET或CREATE,则返 ...

通过灰度线性映射增强图像对比度实现PS中的色阶

通过灰度线性映射增强图像对比度 Halcon中如何通过灰度线性映射增强图片对比度呢?不急,我先讲点其他的. 如果你用过Photoshop,那么想必对增强图像的对比度很熟悉.在Photoshop中,我们 ...

AutoCompleteTextView和自定义的CursorAdapter

用雅虎天气接口和AutoCompleteTextView开发天气应用(1) 2014/03/20 | 分类: ANDROID, 开发 | 2 条评论 | 标签: 天气, 安卓开发 分享到:5 jQue ...

STM32的优先级的理解及其使用

1 组只代表主优先级和副优先级数量的配比,组之间没有优先级的概念. 2 不同的主优先级中断之间,高优先级中断可以打断正在执行的低优先级中断,即可以形成中断嵌套. 3 主优先级相同的中断,高副优先级中断 ...

codeblocks编译pthread多线程问题

默认的编译选项是没有pthread的,所以要自己添加: 参考:http://hi.baidu.com/u_soa/item/9d6cc40b7e9d76eb3499024d 错误: undefined ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值