我有一个使用log4j的java应用程序.
配置:
log4j.rootLogger=info, file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=${user.home}/logs/app.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %c %p %m%n
Run Code Online (Sandbox Code Playgroud)
所以所有日志语句都正确地附加到文件中,但我丢失了stdout和stderr.如何将异常堆栈跟踪和sysout重定向到每日滚动文件?
我有一些库在我身上调用System.out.println,我想通过log4j或commons日志记录重定向它们.但特别是我想保留完全限定的类名,以便我知道哪个组件生成了日志.
有一个很好的,有序的方法来实现这一目标吗?
更新:完成此操作后,我在此处发布了代码:
http :
//www.bukisa.com/articles/487009_java-how-to-redirect-stderr-and-stdout-to-commons-logging-with-the-calling-class