Java异常处理和log4j2

异常处理

thorws 和 throw

  • throws : 声明异常 本身不做处理的异常 当我们在方法内声明异常了 调用此方法的方法来处理此异常
  • throw : 抛出异常 处理异常的过程

throw示例

try {
	int a = 1/0; // 会触发算术异常 ArithmeticException异常
} catch (Exception e) {
	e.printStackTrace();
}

throws示例

public static void main(String[] args) {
    try {
        method1();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public static void method1() throws Exception {
    try {
        int a = 1/0; // 会触发算术异常 ArithmeticException异常
    } catch (Exception ex) {
        throw new Exception(); // 扔出异常交给调用此方法的代码块处理
    }
}

如果需要捕捉多个异常 Exception异常需放在最后个catch分支内

void printStackTrace()输出异常的堆栈信息

日志记录框架 log4j2

步骤

  • 配置log4j2配置文件
  • 创建日志容器logger对象
  • 使用logger对象对应危险等级提示来记录日志

Xml: eXtensible Markup Language 可扩展标记语言 与HTML类似

Xml没有固定标签 标签用来给项目或者插件设定内容的 把这个标签叫做节点

Xml也有固定写法

​ 首行必须是对当前xml文件的配置

​ 我们需要创建一个根节点 xml文档当中要求文件必须有且只有一个根节点

log4j2 示例 xml文件

<?xml version="1.0" encoding="utf-8" ?>
<!-- 
version代表xml版本 现在为1.0
encoding代表配置当前文件的字节编码 使用国际编码utf-8
 -->
<configuration status="OFF">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%l] %-5level - %msg%n" />
        </Console>
        <File name="log" fileName="log/test.log">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%l] %-5level - %msg%n" />
        </File>
    </appenders>
    <loggers>
        <root level="all">
            <appender-ref ref="Console"/>
            <appender-ref ref="log"/>
        </root>
    </loggers>
</configuration>

日志等级

--
all最低等级,用于打开所有日志记录
trace用于程序追踪输出
debug指出细粒度信息事件,对高度应用程序是非常有帮助的
Info在粗粒度级别上指明消息,强调应用程序的运行过程
warn表示警告信息,即可能会出现的潜在错误
error指出星然发生错误事件,但仍然不影响系统的继续运行
fatal指出将会严重的错误事件将会导致应用程序退出
OFF最高等级的,用于关闭所有日志记录

导包

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

创建logger对象

private static Logger logger = LogManager.getLogger(类名.class);

使用logger对象记录日志

logger.日志等级("日志信息")

完整示例

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class TestMain {
    private static Logger logger = LogManager.getLogger(TestMain.class);
    public static void main(String[] args) {
        logger.error("Hello World");
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值