需要为jar文件创建单独的日志文件?

时间:2011-09-26 03:07:00

标签: java log4j logging

我正在创建一个我需要提供给客户端的jar文件,但是我的客户端要求为jar文件单独记录,因为这是在进行一些集成工作。

任何人都可以建议我如何只为一个jar文件创建记录器,我可以将log4j.properties放在同一个jar文件中。

我正在使用网络逻辑服务器。我们不会部署这个jar文件而是将它保存在域lib文件夹中。

由于

1 个答案:

答案 0 :(得分:1)

如果属性文件在jar中,那么你可以这样做:

Properties props = new Properties();
props.load(getClass().getResourceAsStream("/log4j.properties"));
PropertyConfigurator.configure(props);

以上假设log4j.properties位于jar文件的根文件夹中。

如果在这种情况下这不能满足您的需求,那么您可以随时使用:

-Dlog4j.configuration=log4j_for_some_jar.properties

如果其他应用程序也在使用Log4j。更简单的方法是将log4j文件配置为将jar中的类发送到新的日志文件,如下所示:

log4j.rootLogger=ERROR, logfile

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.datePattern='-'dd'.log'
log4j.appender.logfile.File=log/radius-prod.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n

log4j.logger.foo.bar.Baz=DEBUG, myappender
log4j.additivity.foo.bar.Baz=false

log4j.appender.myappender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myappender.datePattern='-'dd'.log'
log4j.appender.myappender.File=log/access-ext-dmz-prod.log
log4j.appender.myappender.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n