JavaWeb | log4j2日志入门——编写一个简单的日志

1. 在项目的开发过程,我们需要使用日志输出一些与编程相关的信息以及对系统的操作记录在日志文件中,以达成下面的用途:

*1) 问题追踪:*通过日志不仅仅包括我们程序的一些bug,也可以在安装配置时,通过日志可以发现问题。
*2) 状态监控:*通过实时分析日志,可以监控系统的运行状态,做到早发现问题、早处理问题。
*3) 安全审计:*审计主要体现在安全上,通过对日志进行分析,可以发现是否存在非授权的操作

2.在log4j2中, 共有8个级别,按照从低到高为:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。

All:最低等级的,用于打开所有日志记录.
Trace:是追踪,就是程序推进一下.
Debug:指出细粒度信息事件对调试应用程序是非常有帮助的.
Info:消息在粗粒度级别上突出强调应用程序的运行过程.
Warn:输出警告及warn以下级别的日志.
Error:输出错误信息日志.
Fatal:输出每个严重的错误事件将会导致应用程序的退出的日志.
OFF:最高等级的,用于关闭所有日志记录.

3.log4j2.xml简单的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<Configuration status="error">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
     <File name="MyFile" fileName="e:/logs/mylog.log">
      <PatternLayout>
        <pattern>%d %p %C{1.} [%t] %m%n</pattern>
      </PatternLayout>
    </File>
  </Appenders>
  <Loggers>
  <!-- 日志级别 -->
    <Root level="info">
    <!-- 控制台 -->
      <AppenderRef ref="Console"/>
       <!-- 磁盘保存 -->
       <AppenderRef ref="MyFile"/>
    </Root>
  </Loggers>
</Configuration>

4. 去官方下载log4j 2,导入jar包
官网下载路径:https://logging.apache.org/log4j/2.x/download.html
需要导入三个包

第一个:log4j-api-2.11.1.jar
第二个:log4j-core-2.11.1.jar
第三个:log4j-web-2.11.1.jar

5. 一个简单的测试案例
建一个servlet,只需要编写两行代码,就可以测试
private Logger logger= (Logger) LogManager.getRootLogger();
logger.info(“你好,帅哥”);

package com.iflytek.app;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@WebServlet("/Log4j2Servlet")
public class Log4j2Servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       //日志记录器
	private Logger logger= (Logger) LogManager.getRootLogger();
   
    public Log4j2Servlet() {
        super();
        // TODO Auto-generated constructor stub
    }	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		logger.info("你好,帅哥");
	}	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}

调试结果

1.控制台
12:26:41.247 [http-bio-8080-exec-3] INFO   - 你好,帅哥

2.磁盘文件
2018-11-17 12:26:41,247 INFO c.i.a.Log4j2Servlet [http-bio-8080-exec-3] 你好,帅哥

6. 在项目中的简单应用
应用于记录用户登录时间,名称,及一些功能操作。
我们在导入包和配置好log4j2.xml文件后, 只需要创建
private Logger logger= (Logger) LogManager.getRootLogger();
然后在调用 **logger.日志级别(“日志里所要记录的信息”);**特别强调日志 的级别要与xml配置的日志级别一致。例如info:

logger.info("你好,帅哥");
logger.info(loginName+"登陆成功");

要想了解更多日志知识,请查看log4j 2官网https://logging.apache.org/log4j/2.x/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值