1、log4j简述

log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),是Apache一个开源项目。

Log4j是高度可配置的,并可通过在运行时的外部文件配置。它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,诸如:数据库,文件,控制台,UNIX系统日志等。

日志级别有:

  • ALL              打印所有信息
  • DEBUG        打印调试信息
  • ERROR        打印错误信息
  • FATAL  指定非常严重的错误事件,这可能导致应用程序中止
  • INFO    指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
  • OFF    这是最高等级,为了关闭日志记录
  • TRACE    指定细粒度比DEBUG更低的信息事件
  • WARN    指定具有潜在危害的情况

一般常用的级别是DEBUG级别使用log4j需要在项目中导入log4j的jar包,点击 这里 下载它的jar包。

将jar包导入项目之后,在项目的classpath路径下新建名为log4j.properties的配置文件,用于配置log4j。

下面就一一介绍如何使用log4j将日志输送到不同目的地。

1、输送到普通文本文件

#表示该文件在D盘的log目录下
log=D:/log
# 根日志记录器(logger)的级别定义为DEBUG并连接附加器命名为FILE
log4j.rootLogger = DEBUG, FILE# 附加器(appender)File是定义为org.apache.log4j.FileAppender并写入到一个名为“log.txt”的文件中
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.txt# 定义的布局模式是%m%n,这意味着每打印日志消息之后,将加上一个换行符
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

2、 输送到格式化的Html文件

#表示该文件在D盘的log目录下
log=D:/log
log4j.rootLogger = DEBUG, FILE# Define the file appender
# 附加器(appender)File是定义为org.apache.log4j.FileAppender并写入到一个名为“log.html”的文件中
log4j.appender.FILE=org.apache.log4j.FileAppender
#生成html文件
log4j.appender.FILE.File=${log}/log.htmllog4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.Title=HTML Layout Example
log4j.appender.FILE.layout.LocationInfo=true

3、输送到控制台

#定义LOG输出级别、输出到控制台、文件
log4j.rootLogger = DEBUG,STDOUT# 定义控制台 STDOUT appender
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=%d{yyyy-MM-dd HH:mm:ss}%m%n

4、输送到数据库

这里以mysql数据库为例,将日志输送到数据库,实质就是讲日志存储到数据表中,为此,我们先建立一张用于存储日志的表

CREATE TABLE LOGS(USER_ID VARCHAR(20),DATED   DATETIME,LOGGER  VARCHAR(50),LEVEL   VARCHAR(10),MESSAGE VARCHAR(1000)
);

然后,再配置log4j.properties

# Define the root logger with appender file
log4j.rootLogger = DEBUG, DB# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
#定义数据库url
log4j.appender.DB.URL=jdbc:mysql://127.0.0.1:3306/formybatis?characterEncoding=UTF-8
#定义数据库驱动
log4j.appender.DB.driver=com.mysql.jdbc.Driver#定义用户名和密码
log4j.appender.DB.user=root
log4j.appender.DB.password=ok# 设置存储到log表的insert语句
log4j.appender.DB.sql=INSERT INTO LOGS(user_id,dated,logger,level,message) VALUES("%x","%d{yyyy-MM-dd HH:mm:ss}","%C","%p","%m")# Define the layout for file appender
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

2、大致了解一下log4j2

log4j2是重新架构的一款日志组件,他抛弃了之前log4j的不足,以及吸取了优秀的logback的设计重新推出的一款新组件。log4j2的社区活跃很频繁而且更新的也很快。

log4j是通过一个.properties的文件作为主配置文件的,而现在的log4j 2则已经弃用了这种方式,采用的是.xml,.json或者.jsn这种方式来做,可能这也是技术发展的一个必然性,毕竟properties文件的可阅读性真的是有点差。

使用log4j将日志输送到控制台、文件或数据库中相关推荐

  1. springboot实现上传Excel文件与数据库中的数据进行比对

    springboot实现上传Excel文件与数据库中的数据进行比对 首先先写好文件上传的接口,然后上传需要比对数据的文件,在点击数据比对 下面是一部分数据比对的代码: 后端controller部分: ...

  2. 利用slf4j+log4j将日志写入指定的文件中

    主要实现的是可以从后台传入文件名,写入日志到指定的文件中.(jar包在链接中http://download.csdn.net/download/u010924720/10150019) 代码如下: p ...

  3. 如何保存PDF、Word和Excel文件到数据库中

    在项目中,有时候我们很需要把PDF.Word和Excel文档等等上传到数据库,以便日后使用.今天这篇文章向大家讲解如何将这些文件保存到数据库的. 详细步骤 第一步:打开数据库,单击新建查询,创建一个名 ...

  4. oracle写excel文件,ORACLE-将oracle数据库中数据写入excel文件

    ORACLE-将oracle数据库中数据写入excel文件主要实现思路: 1.声明一个纪录,用来存储导出的数据: 2.使用游标取数据到纪录中: 3.使用utl_file将纪录中的数据写入excel文件 ...

  5. 如何将PDF如何存入MySQL_如何保存PDF、Word和Excel文件到数据库中

    在项目中,有时候我们很需要把PDF.Word和Excel文档等等上传到数据库,以便日后使用.今天这篇文章向大家讲解如何将这些文件保存到数据库的. 详细步骤 第一步:打开数据库,单击新建查询,创建一个名 ...

  6. log4j中文日志乱码--输出到文件的日志,中文部分全是问号乱码的处理

    因为业务需要,需要把保存系统操作日志,到文件中去,但是,忽然不知道怎么的,原来输出的日志都是好好的,但是后面的日志中的中文部分,都变成了问号的乱码,具体如下图: 如何处理这个问题: 在配置log输出的 ...

  7. python日志内容存储到文件里_Python中如何实现将logging日志保存到文件中

    Python中如何实现将logging日志保存到文件中 发布时间:2020-11-09 17:03:14 来源:亿速云 阅读:66 今天就跟大家聊聊有关Python中如何实现将logging日志保存到 ...

  8. 采用SHELL,通过SQL LOAD导入一定格式的txt文件至数据库中

    1. 准备工作,window中可直接通过sqlload直接导入文件,linux下,需要有sqlload的相关软件. 2. SQL脚本 load data CHARACTERSET ZHS16GBK i ...

  9. java中excel文件导入数据库中_〖JAVE经验〗java中Excel导入数据库里

    1 从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表.读取Excel数据表的第一步是创建Workbook(术语: ...

最新文章

  1. 机器学习泰斗迈克尔 · 乔丹:不是什么都叫AI的
  2. NGINX Plus 提供的在线活动监控功能
  3. Qt工作笔记-Qt5中中文编码方面的笔记
  4. VC打包程序,并修改注册表(详细以后补充)
  5. 聊聊 Spring Boot 2.x 那些事儿
  6. jmap 定时生成linux,linux – 创建heapdumps的替代方案,性能比jmap更高?
  7. vue 指令 v-on
  8. 开发者须知:关于 Android L 的一切
  9. 技术人 | 是架构师,也是工作中的“厨师”
  10. postgresql 客户端启动配置
  11. Eclipse输入或创建txt文件位置
  12. 高通9008固件下载备份工具
  13. matlab 谐振电路图,rlc串联电路谐振特性图分享
  14. 互动广告助您抢量成功
  15. 携程React Native实践
  16. 核磁谱图分析步骤_测试干货|核磁共振好基友MestReNova—手把手教你做出一张核磁谱图...
  17. 信息的可再生性举例_举例说说信息的可处理性
  18. 关于模拟信号,数字信号,电磁波,基带传输的一点点感悟
  19. 测试用例设计之一——Orthogonal Array Testing Strategy(OATS)
  20. J2EE学习篇之--JQuery技术具体解释

热门文章

  1. Java使用POI获取Excel公式
  2. 自己总结的web前端面试题之数据库
  3. 破解linux系统的root密码
  4. Thinkpad X200 换屏记
  5. C语言:L1-039 古风排版 (20 分)
  6. 强国杯半决赛东部赛区部分wp
  7. 产业公司,咋投股权?|【常垒·常识】
  8. 2的1000次方的各位之和是多少?
  9. 5G NR QoS 控制
  10. 为啥电脑网络里显示好几台计算机,台式电脑宽带显示连接上了,可是不能上网,WiFi也...