`
kanpiaoxue
  • 浏览: 1750255 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

log4j2的xml配置

 
阅读更多

 

参考地址:

官网: https://logging.apache.org/log4j/2.x/manual/configuration.html

appender地址:http://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender

PatternLayout的pattern地址: https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout

 

maven的配置:

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.kanpiaoxue</groupId>
	<artifactId>logtest</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>logtest</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.source.version>1.8</java.source.version>
		<java.target.version>1.8</java.target.version>

		<log4j.version>2.7</log4j.version>
	</properties>

	<dependencies>

		<!-- log start -->
		<dependency>
				<groupId>com.lmax</groupId>
				<artifactId>disruptor</artifactId>
				<version>3.3.6</version>
			</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-1.2-api</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-web</artifactId>
			<version>${log4j.version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-jcl</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-slf4j-impl</artifactId>
			<version>${log4j.version}</version>
		</dependency>

		<!-- log end -->

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

 

 

package org.kanpiaoxue.logtest.log;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LogAction {
	private static final Logger LOGGER = LoggerFactory.getLogger(LogAction.class);

	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {

			LOGGER.trace("Hello World!");
			LOGGER.debug("Hello World!");
			LOGGER.info("Hello World!");
			LOGGER.warn("Hello World!");
			LOGGER.error("Hello World!");
			LOGGER.error("Hello World! {}", System.getenv("LOG_HOME"));
		}
	}
}

 

 

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
	<!-- https://logging.apache.org/log4j/2.x/manual/configuration.html -->
	<properties>
                <property name="APP_NAME">test</peoperty>
		<property name="LOG_PATTERN_LAYOUT">
		<![CDATA[
		%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %c{1.}.%M:%L --> %msg%xEx%n
		]]>
		</property>
	</properties>

	<Appenders>

		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="${LOG_PATTERN_LAYOUT}" />
		</Console>

		<RollingRandomAccessFile name="RollingFile"
			fileName="${env:LOG_HOME:-/home/admin}/logs/${APP_NAME}.log"
			filePattern="${env:LOG_HOME:-/home/admin}/logs/${APP_NAME}-%d{yyyyMMdd}.-%i.log">
			<PatternLayout pattern="${LOG_PATTERN_LAYOUT}" />
			<Policies>
				<SizeBasedTriggeringPolicy size="100 MB" />
			</Policies>
			<DefaultRolloverStrategy max="20" />
		</RollingRandomAccessFile>

	</Appenders>

	<Loggers>
		<!-- package logger -->
		<Logger name="org.kanpiaoxue.logtest.log" level="DEBUG"
			additivity="false">
			<AppenderRef ref="Console" />
			<AppenderRef ref="RollingFile" />
		</Logger>

		<!-- http://logging.apache.org/log4j/2.x/manual/async.html#Location -->
		<Root level="DEBUG" includeLocation="true" additivity="false">
			<AppenderRef ref="Console" />
			<AppenderRef ref="RollingFile" />
		</Root>
	</Loggers>

</Configuration>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics