springboot网站开发如何配置log4j日志插件

news/2024/4/28 14:04:30

springboot网站开发如何配置log4j日志插件!为了便于服务器等环境下的错误情况的排查根源,还是很有必要使用日志插件的,它可以记录下我们提前埋下的锚点信息。

在遇到故障,查看这些锚点记录的日志信息,可以快速高效的解决服务器遇到的故障。


第一步:增加配置文件在resource下面新建一个log4j.properties

###???Logger###
log4j.rootLogger = debug,stdout,D,E,W
###????????###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %p[%d{yyyy-MM-dd HH\:mm\:ss,SSS}] [%t] %C.%M(%L) | %m%n
###??DEBUG????????= E://logs/debug.log###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E:/logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %p[%d{yyyy-MM-dd HH\:mm\:ss,SSS}] [%t] %C.%M(%L) | %m%n
###??ERROR???????? E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = E:/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.HTMLLayout
log4j.appender.E.layout.LocationInfo = true
log4j.appender.E.layout.Title = Test_ERROR
###??WARN ?????????=E://logs/warn.log ###
log4j.appender.W = org.apache.log4j.RollingFileAppender
log4j.appender.W.File = E:/logs/warn.log
log4j.appender.W.Append = true
log4j.appender.W.Threshold = WARN
log4j.appender.W.MaxFileSize = 2KB
log4j.appender.W.layout = org.apache.log4j.HTMLLayout
log4j.appender.W.layout.LocationInfo = true
log4j.appender.W.layout.Title = Test_WARN

第二步:添加依赖参数

<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

第三步:测试一下能否正常记录。

编写一个测试类即可。

package com.example.mydemo.test;import org.apache.log4j.Logger;public class TestLogger {static final Logger logger = Logger.getLogger(TestLogger.class);public static void main(String[] args) {System.out.println("hello");//控制台输出hello//日志信息logger.info("hello ,world");logger.debug("This is debug message");logger.warn("This is warn message");logger.error("This is error message");}
}

如图,我写了一个简单的测试类。里面调用了logger对象,的一些基础方法,它会在对应的存储文件下面输入我们预先设置好的信息。

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=

如图,我还未开始 执行!里面是0字节。

我执行后,里面就有内容了。

如下所示:

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs= yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=

 有了这个案例,你就可以在任何你想埋下锚点记录信息的实体类里面去使用它了。很简单。 

比如上一次,我跟踪排查服务器图片无法正常创建就是在图片生成工具类里面埋下了很多锚点信息。

成功捕捉到了错误的信息。


yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 这个就是我预先设置好的记录信息。一旦有异常,会输入我们指定的文件夹下面,打开即可查看错误原因。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/11051.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

基于单片机的实时水质监测系统设计

摘要:传统的水质监测存在人工成本高,取样时间长等诸多问题。为了解决这些问题,本文设计了一款基于单片机的实时水质监测系统,通过传感器采集到的数据,单片机通过zigbee 収送至云端,结合上位机软件可以实现实时的信息采集处理,实现了高敁、智能的水质监测工作。 兲键词:…

戳-考察C++基础的两道小题

昨天分享了一天本来是考察unique_ptr禁止拷贝行为的&#xff0c;但是粘贴的时候贴成正确代码了&#xff0c;于是&#xff0c;今天继续找两道小题来练练手。 今天这两道小题&#xff0c;你能回答上来不&#xff0c;题目1有至少6处错误&#xff0c;你能找到几个&#xff1f;题目2…

【ZooKeeper】1、基本介绍

本文基于 Apache ZooKeeper Release 3.7.0 版本书写 作于 2022年3月6日 14:22:11 转载请声明 1、Zookeeper是什么&#xff1f; 由ZooKeeper的官网介绍可知&#xff1a; ZooKeeper 是Apache原子基金会下一个开源的、用于提供可靠的分布式协同的服务器。 ZooKeeper 可以用来 配置…

QT:QTableWidget表格中加入勾选框

1.新建QTableWidget控件&#xff1a;tableWidget_TestResult 2.举例&#xff1a;在第一行第一列添加一个勾选框 //添加选择框QTableWidgetItem* check0 new QTableWidgetItem();check0->setCheckState(Qt::Checked);ui->tableWidget_TestResult->setItem(0, 0, chec…

Python flask abort 主动抛出异常

from flask import Flask, abortapp Flask(__name__)# 重定向到百度 app.route(/index) def index():abort(404)return "123"if __name__ __main__:app.run(debugTrue)如果改成abort(403)

基于nodejs+vue文学名著分享系统的设计与实现python-flask-django-php

目 录 摘 要 I Abstract II 1绪 论 1 1.1课题背景 1 1.2课题研究的意义 1 1.3研究现状 2 1.4研究方法 3 1.5论文组织结构 4 2开发关键技术 5 2.1 express框架 5 2.2 nodejs语言介绍 7 2.3 B/S架构 7 2.4 MySQL数据库 7 3系统分析 8 3.1 可行性分析 8 3.1.1 技术可行性 8 3.1.2 …