log4j2.xml相关配置

1.首先在pom中引入相关jar包

<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>${slf4j.version}</version>
			<scope>runtime</scope>
		</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>

2.配置相关的log4j2.xml

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
	<Appenders>
		<Console name="STDOUT" target="SYSTEM_OUT">
			<PatternLayout
				pattern="%d{yyyy-MM-dd HH:mm:ss} [%-5p %marker](%C:%L) %m%n" />
		</Console>
		<File name="FILE"
			fileName="${sys:catalina.home}/logs/日志名字.log">
			<PatternLayout
				pattern="%d{yyyy-MM-dd HH:mm:ss} [%-5p %marker](%C:%L) %m%n" />
		</File>
	</Appenders>
	<Loggers>
		<Logger name="产生日志包" level="debug" additivity="false">
			<AppenderRef ref="STDOUT" />
			<AppenderRef ref="FILE" />
		</Logger>
		<Logger name="产生日志包" level="debug" additivity="false">
			<AppenderRef ref="STDOUT" />
			<AppenderRef ref="FILE" />
		</Logger>
		<Root level="warn">
			<AppenderRef ref="STDOUT" />
			<AppenderRef ref="Async" />
		</Root>
	</Loggers>
</Configuration>

<logger>标签的作用:为不同的包使用不同的log配置。
如配置了     

<Logger name="产生日志包" level="debug" additivity="false">
            <AppenderRef ref="STDOUT" />
            <AppenderRef ref="FILE" />
        </Logger>

则包及其子包下的所有类使用的log配置都是debug,且输出到FILE
其他类使用的log配置都是根logger

logger的默认配置具有继承特性, 即所有的logger配置继承根logger,
name为“a.b.c"的logger配置继承name为"a.b"的配置, name为"a.b"又继承name为"a"的logger而配置。。。
若使用了additivity="false"表示不继承父logger的配置。

3.使用@Log4j2相关注解

4.通过try...catch以及抛出异常,将异常写入文件 Java异常处理主要通过5个关键字控制:try、catch、throw、throws和finally。try的意思是试试它所包含的代码段中是否会发生异常;而catch当有异常时抓住它,并进行相应的处理,使程序不受异常的影响而继续执行下去;throw是在程序中明确引发异常;throws的作用是如果一个方法可以引发异常,而它本身并不对该异常处理,那么它必须将这个异常抛给调用它的方法;finally是无论发不发生异常都要被执行的代码
    
    关键字:throw,throws,try和catch的用法如下:
        1、throws出现在方法的声明中,表示该方法可能会抛出的异常,允许throws后面跟着多个异常类型
        2、throw出现在方法体中,用于抛出异常。当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw。
        3、try出现在方法体中,它自身是一个代码块,表示尝试执行代码块的语句。如果在执行过程中有某条语句抛出异常,那么代码块后面的语句将不被执行。
        4、catch出现在try代码块的后面,自身也是一个代码块,用于捕获异常try代码块中可能抛出的异常。catch关键字后面紧接着它能捕获的异常类型,所有异常类型的子类异常也能被捕获。
 

转载于:https://my.oschina.net/u/3829307/blog/3084113

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值