有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (6) 个答案

  1. # 1 楼答案

    在类路径的根目录中放置一个名为log4j.properties的文件:

    log4j.rootLogger = ALL, Console
    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    log4j.appender.Console.layout=org.apache.log4j.PatternLayout
    log4j.appender.Console.layout.conversionPattern=%m%n
    

    不需要别的了。Log4j将发现它并自行配置

  2. # 2 楼答案

    值得一读manual(冒着陈述显而易见的风险)。有很多配置选项,一旦你了解并理解了可能的情况,你就可以实现一些非常强大的日志系统

  3. # 3 楼答案

    如果你无意中发现了这一点,并且正在寻找log4j2的示例文件。我实现它的方法是创建一个文件名log4j2。基本'resources'目录中的xml(我使用的是maven,所以是'src/main/resources')

    然后从手册中复制样本配置: http://logging.apache.org/log4j/2.x/manual/configuration.html

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN">
      <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
          <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
      </Appenders>
      <Loggers>
        <Root level="error">
          <AppenderRef ref="Console"/>
        </Root>
      </Loggers>
    </Configuration>
    

    这将为您提供一个简单的控制台记录器。我建议您修改模式,使其符合您的要求,并将“Root level=”修改为更具包容性的内容。当然,阅读手册,了解更强大的设置

  4. # 4 楼答案

    最简单的方法是访问apache的log4j页面并阅读short introduction。他们有一个log4j样本。配置已准备好进行复制和粘贴

  5. # 5 楼答案

    # Root logger option
    log4j.rootLogger=DEBUG, stdout, file
    
    # Redirect log messages to console
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    
    # Redirect log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    #outputs to Tomcat home
    log4j.appender.file.File=${catalina.home}/logs/myapp.log
    log4j.appender.file.MaxFileSize=5MB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    
  6. # 6 楼答案

    除了其他一些答案之外,我还想添加一个持久性appender,因为这是使用日志而不是控制台和调试器的最大优势;当无法实时运行应用程序代码或事件已经发生时

    !/“路径”/“文件名”将写入文件系统的根目录。“路径”/“文件名”将写入相对于类路径根的路径

    log4j.rootLogger = ALL, Console, default.file
    log4j.appender.default.file=org.apache.log4j.FileAppender
    log4j.appender.default.file.file={path}/{filename}
    log4j.appender.default.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.default.file.layout.conversionPattern=%m%n
    
    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    ...