slf4j登录控制台而不是文件



我正在测试Milton WebDAV API,当打开一些文档时,我需要进行日志记录。我可以让它记录在Eclipse的控制台上,但不能让它把消息放在外部文件上。

在SO和谷歌上找到了几个链接,但都不起作用。我已经在这方面花了大约4小时了。有什么猜测吗?

情况如下(尽我所能格式化):

log4j.properties

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/home/paulo/workspace/MiltonTutorial/logs/log.txt
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=INFO, file

DocumentResource.java

public class DocumentResource implements GetableResource,
    PropFindableResource, DeletableResource, MoveableResource,
    CopyableResource, ReplaceableResource, PropPatchableResource, MultiNamespaceCustomPropertyResource {
    private final static Logger log = LoggerFactory.getLogger(DocumentResource.class);
    Document doc;
    (...)
    @Override
    public void sendContent(OutputStream out, Range arg1,
            Map<String, String> arg2, String arg3) throws IOException,
            NotAuthorizedException, BadRequestException {
        log.info(">>> File {} opened", doc.getFileName());
        out.write(this.doc.getContent());
    }

在WebDAV客户端上执行"get-testfile"时Eclipse的控制台

2013年2月8日18:03:15 com.ettrema.tutorial.milton.DocumentResource发送内容信息:>>文件测试文件打开

此处为log.txt大内容

谢谢!

只需将您的log4j文件编辑成这样:

log4j.rootLogger=DEBUG, A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-5p %c %x - %m%n
log4j.appender.A2=org.apache.log4j.FileAppender  
log4j.appender.A2.File=/a.log  
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-5p %c %x - %m%n
log4j.logger.io.milton=TRACE

如果记录器设置没有被应用(即你没有看到日志出现在你的文件中),那么你可能在类路径中的某个地方有另一个log4j.properties文件,而不是这个文件。有时它可以包含在jar文件中(eek!)

slf4j只是其他记录器的包装器,其中一个是log4j,用于将内容记录到文件中(另一个由log4j.properties配置)。

系统的其余部分很可能使用Log4J的API,而您的SLF4配置为登录到控制台。

确保类路径中有slf4j-log4j12.jar,而不是slf4j-simple一个

相关内容

  • 没有找到相关文章

最新更新