2012-09-11 163 views
0

我第一次使用log4j。 根据要求,我想在日志文件中显示文件的名称(与日期显示方式相同)。如何使用log4j在日志文件中获取文件名?

例如:

17:56:57,863 help INFO [STDOUT] PropertyHandler-If 

其中help我们哪里PropertyHandler-If写在log.debug()的文件名。

另外,我想对所有有关数据库中的例外不同的日志文件。 这可能吗?

+0

为什么要在文件中存储的文件的名称?不是文件名称的文件的名称。 –

+0

选中此[帖子](http://www.tek-tips.com/viewthread.cfm?qid=1109220),它看起来与您的要求非常相似。 – basiljames

+0

OP希望得到_class_(或者类文件的名字,或许在那里定义了几个类),而不是_log file_的名字。 –

回答

1

可以定义多个追加程序(每个文件),并设置不同的记录器使用不同的附加目的地。通过使用不同的日志对象,您可以将这些对象指向不同的文件。例如单个组件可以有多个Log小号

1

您可以使用PatternLayout用“F”选项:“用于输出,其中记录请求发出的文件名”

由于@Peter Lawrey指出的那样,你可以使用多个附加目的地,你的情况具体FileAppender它记录数据库。