2013-03-08 47 views
3

我想将性能相关数据输出到单独的日志文件。 (不是Server.log)。是否可以使用Log4j为自定义输出创建单独的日志输出文件

例如在我的班级我想要两个记录器。

static Logger logger = Logger.getLogger(MyApp.class.getName()); 
static Logger logger_performance = Logger.getLogger(MyApp.class.getName()); 

第一吐出到通常的server.log。第二个应该将数据吐出到performance_data.log。据我了解,只有一个文件可以配置记录器?

+0

它是Web的应用程序? – bsiamionau 2013-03-08 14:38:20

+0

这两个记录器都具有相同的名称'MyApp.class.getName()',所以'logger'和'logger_performance'实际上是同一个对象(以及指向同一对象的两个不同指针)。 – 2013-03-08 14:48:30

+0

@zvzdhk其余的服务和JEE应用程序 – 2013-03-08 14:57:07

回答

3

只是配置第二个记录:

<logger name="your.class.logger" additivity="false"> 
    <level value="INFO" /> 
    <appender-ref ref="classlogger" /> 
</logger> 

<logger name="performancelogger" additivity="false"> 
    <level value="INFO" /> 
    <appender-ref ref="performancelogger" /> 
</logger> 


static Logger logger = Logger.getLogger(MyApp.class.getName()); 
static Logger logger_performance = Logger.getLogger("performancelogger"); 
+0

这个XML是在哪里找到的? – 2013-03-08 14:59:01

+0

这应该在您的log4j.xml配置文件中。或者可能在log4j.properties文件中,以防其非xml语法。 – 2013-03-08 15:00:46

2

您可以在log4j中配置多个Appender。例如,FileAppender将日志输出附加到文件。

查看详情documentation

相关问题