参考
log4j 2 maven
在pom.xml里添加:
1 2 3 4 5 6 7 8 9 10
| <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.2</version> </dependency>
|
log4j2.xml
在src/main目录下新建一个文件夹resources,在里面新建一个log4j2.xml,并_右键resources ➤ Mark Directory as ➤ Resources Root_。由CSDN的参考链接添加以下配置到log4j2.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <Configuration status="WARN" monitorInterval="300"> <properties> <property name="LOG_HOME">/var/log</property> <property name="FILE_NAME">Thermal</property> </properties> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <RollingRandomAccessFile name="MyFile" fileName="${LOG_HOME}/${FILE_NAME}.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd HH-mm}-%i.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> <Policies> <TimeBasedTriggeringPolicy interval="1"/> <SizeBasedTriggeringPolicy size="10 MB"/> </Policies> <DefaultRolloverStrategy max="20"/> </RollingRandomAccessFile> </Appenders>
<Loggers> <Logger name="mylog" level="trace" additivity="false"> <AppenderRef ref="MyFile"/> </Logger> <Root level="error"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration>
|
注意更改"LOG_HOME"和"FILE_NAME"后面的内容来配置log文件的位置。
编译时带上log4j2.xml
需要在pom.xml拥有这么一段内容:
1 2 3 4 5 6 7 8 9 10 11
| <build> <resources> <resource> <directory>src/main/resources</directory> <targetPath>${project.build.directory}/classes</targetPath> <includes> <include>**/log4j2.xml</include> </includes> </resource> </resources> </build>
|
程序内使用log4j
1
| private static Logger logger = LogManager.getLogger("mylog");
|
注意mylog是在log4j2.xml里面的Loggers标签定义的。
打包成一个可运行jar包
pom.xml里添加依赖:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <archive> <manifest> <mainClass>com.xxg.Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin>
|
注意把<mainClass>
标签里的com.xxg.Main改成自己的有main函数的class的名字(全路径)。
然后用
1
| mvn package assembly:single
|
就可以打包了。