我正在创建一个我需要提供给客户端的jar文件,但是我的客户端要求为jar文件单独记录,因为这是在进行一些集成工作。
任何人都可以建议我如何只为一个jar文件创建记录器,我可以将log4j.properties放在同一个jar文件中。
我正在使用网络逻辑服务器。我们不会部署这个jar文件而是将它保存在域lib文件夹中。
由于
答案 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