網上很多文章給的都是用xml進行配置,也會提到沒法使用properties文件對log4j進行配置,但那應該只是在他們寫文章的時候纔是如此,最新的2.8.2版本通過我試驗後是能夠作到的固然該文件最好放在特定的目錄中才行,官方文檔也提到了json
1.Log4j will inspect the "log4j.configurationFile" system property and, if set, will attempt to load the configuration using the ConfigurationFactory that matches the file extension. 2.If no system property is set the YAML ConfigurationFactory will look for log4j2-test.yaml or log4j2-test.yml in the classpath. 3.If no such file is found the JSON ConfigurationFactory will look for log4j2-test.json or log4j2-test.jsn in the classpath. 4.If no such file is found the XML ConfigurationFactory will look for log4j2-test.xml in the classpath. 5.If a test file cannot be located the YAML ConfigurationFactory will look for log4j2.yaml or log4j2.yml on the classpath. 6.If a YAML file cannot be located the JSON ConfigurationFactory will look for log4j2.json or log4j2.jsn on the classpath. 7.If a JSON file cannot be located the XML ConfigurationFactory will try to locate log4j2.xml on the classpath. 8.If no configuration file could be located the DefaultConfiguration will be used. This will cause logging output to go to the console.
name = PropertiesConfig property.filename = target/logs #appenders = console, file #配置值是appender的類型,並非具體appender實例的name appenders = rolling appender.rolling.type = RollingFile appender.rolling.name = RollingLogFile appender.rolling.fileName=${filename}/automationlogs.log appender.rolling.filePattern = ${filename}/automationlogs-%d{MM-dd-yy-HH-mm-ss}-%i.log appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n appender.rolling.policies.type = Policies appender.rolling.policies.size.type = SizeBasedTriggeringPolicy appender.rolling.policies.size.size=100MB appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.max = 5 rootLogger.level = trace rootLogger.appenderRef.rolling.ref = rolling rootLogger.appenderRef.rolling.ref = RollingLogFile