java - Logger 只打印日志消息而不是异常
问题描述
try {
// some code
}
catch (Exception e) {
Logger.log(Level.WARN, "Unable to complete the job. ID: " + id, e);
}
因此,显然开发人员希望如果出现问题,它会记录异常(异常类型和堆栈跟踪)
这是我得到的日志打印
[27 May 2019 13:30:07][http-nio-8080-exec-13][WARN]: Unable to complete the job. ID: 123457890
这是 Log4j 配置
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=debug.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss}][%t][%p]: %m%n
我知道获取异常详细信息的方法,我想了解这种行为。这是怎么发生的?记录器是否忽略传递的参数?
解决方案
ERROR 级别用于在日志文件中记录错误的堆栈跟踪。
尝试使用。
try {
// some code
} catch (Exception e) {
Logger.log(Level.ERROR, "Unable to complete the job. ID: " + id, e);
}
如果它仍然不起作用,请分享您的日志库。会检查的。
推荐阅读
- ruby-on-rails - 必须在数据库的相关表中填写外键吗?
- java - recyclerviewadapter 未使用片段附加
- reactjs - Can I track nested object changes in React Context?
- c# - 访问网页时处理windows安全
- c# - 支持遍历 DataTable 中的数据行的 C# 模板引擎
- joomla - 尝试在本地主机上编辑 Joomla 时出现 HTTP 错误
- json - 解码 Json 不起作用,也不给出错误
- tsql - 为什么 (Col <> value AND Col is null) 不返回任何空值?
- django - 这行代码的当前用户模型是什么意思。从 django.contrib.auth 导入 get_user_model
- json - D3图表在重绘之前没有清除