java - Log4j 配置打印到控制台和文件

标签 java log4j

我的 log4j 属性:

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=100KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.File=checkLog.log
log4j.appender.file.threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

我想将 log4j 打印到控制台和文件,但是 当我导入 slf4j-log12-1.6.4.jar 时,它仅在文件中打印并抛出此异常:

Could not instantiate class [org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout].

当我导入 slf4jsimple-1.6.4.jar 时,它毫无异常(exception)地仅打印到控制台

那么我应该导入什么?

以及我应该更改属性以打印堆栈跟踪。我正在使用这个:

logger.error("ERROR!: " + e); 

但我只看到:

16:59:28,703 ERROR PlayOffPanel:275 - ERROR!: java.lang.IndexOutOfBoundsException: 

Index: 15, Size: 15

最佳答案

你应该在开头有这一行:

log4j.rootLogger=DEBUG, console, file

关于java - Log4j 配置打印到控制台和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331578/

相关文章:

java - 为应用程序中的所有线程设置 ThreadContext

grails - grails/log4j/转换模式/%throwable

java - log4j 如何在java代码中设置FileAppender编码?

java - 如何计算空行的位置?

java - 如何使用正则表达式搜索字符串,并在找不到时返回空

java - 无法将 portlet [portletname] 的角色与角色名称 [rolename] liferay 6.1 链接

java - 为什么我的方法没有为类型对象定义?

java - 如何在 log4j2 中动态打开或关闭 rootLogger 的一个附加程序?

logging - JBoss webapp 上不显示 log4j 记录器消息

java - 使用java代码显示、检查和启动linux进程