Log4j有三个主要的组件:Loggers,Appenders(append,路径)和Layouts,这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松的记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置.
1、 Loggers
Loggers 组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,这里Log4j有一个规则:假设Loggers级别为P,如果在Loggers中发生了一个级别Q比P高,则可以启动,否则屏蔽掉。
语法表示:
Logger.debug(Object message);
Logger.info(Object message);
Logger.warn(Object message);
Logger.error(Object message);
2、 Appenders
其语法表示为:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3、 Layouts
用户根据自己的喜好格式化自己的日志输出。Log4j可以在Appenders的后面附加Layouts来完成这个功能。Layouts提供了四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式等等。 其语法表示为:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
下面给出一个具体配置例子,在程序中可以参照执行:
log4j.rootLogger=INFO,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=
%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
这里需要说明的就是日志信息格式中几个符号所代表的含义:
-X号: X信息输出时左对齐;
%p: 日志信息级别
%d{}: 日志信息产生时间
%c: 日志信息所在地(类名)
%m: 产生的日志具体信息
%n: 输出日志信息换行
在实际的项目开发中,很可能遇到所引用的包用Log4j来记录日志,比如Hibernate。那么在这里你可以很容易的控制这个包如何记录日志。比如在上面的配置文件中加一行:log4j.logger.org.hibernate=fatal
部署
把log4j的包和commons-logging的包(加在一起才两个)放到classpath下面。然后把配置文件保存为log4j.properties,也放在classpath下面(如果用Eclipse的话,放在src目录下即可)。然后你就可以跑了。
以下链接详细讲解:
www.cublog.cn/u/25176/showart_190067.html
分享到:
相关推荐
log4j初始化
1. 默认的log4j初始化过程 2. BasicConfigurator.configure() 3. xml格式的log4j配置文件概述 4. 在xml文件中配置appender和layout 5. 我自己的一个使用xml文件配置log4j环境的很简单的例子 6. Log4j的编码习惯...
log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...
在项目的main class中的静态初始化块里放log4j环境的配置代码。注意:在一个项目中,log4j环境只需要被配置一次,而不是在每个使用了logger的类里都需要调用一次 ,用MyClass.class作为参数创建该类的静态Logger对象...
本文档提供log4j配置相对路径三种方法:log4j.properties文件配置、xml文件配置和通过servlet初始化方式来配置,希望对大家有所帮助
log4j的培训文档和源码,包括java项目和web项目。从文件的配置,初始化,到写入文件,控制台和数据库等。
Log4j-StaticShutdown 为Log4j 2提供一个ShutdownRegistrationStrategy,该Log4j 2设计为手动调用。 要求 安装了Java和Maven 建立你的项目 在您的pom.xml文件中添加依赖项: <groupId>com.djdch.log4j</groupId>...
日志组件log4delphi与log4j、log4cpp如出一辙 1.安装:log4Delphi无需安装,直接解压包解压后放入任意目录(我的目录是:'D:/3rdlib/delphi/log4delphi-0.7)即可。 2.使用:在工程文件中引用解压包中src目录下...
通过初始化servlet,在文件里输出你想要的自定义信息,方便的调试功能,输出任意级别的错误.这是个jsp的日志文件配置
简单的Servlet 该项目是一个简单的Servlet,它是Servlet项目的启动器,它包含由Servlet内容侦听器初始化的log4j。 这是一个可以通过mvn clean install内置到战争中的Maven项目 它包括核心jstl 1.2标记文件
日志读取器用于读取基于javafx构建的log4j日志文件的应用程序。 日志记录会根据其严重程度进行颜色编码,并可以进行相应过滤。 应用程序支持多个打开的文件。 如果其中有新记录,则可以自动刷新每个文件。 重置日志...
Log4JS 库的这个派生提供了一个简单的类似 Log4j 的界面,用于在浏览器中进行登录。 这个项目的启动是为了降低复杂性,去除繁重的遗留支持,并为 stritti 创建和维护的添加模块化。 用法 初始化记录器: # init ...
基于Servlet和jsp-的三层开发-会员管理系统--整理总结[2019-202002] 第四个版本-也就是最终完善版(vipPlusPro) ... 工具类--初始化服务器...四、操作日志(log4j || MySQL) log4j mysql 网页分页查看日志 五、
log4j2; 集成示例 用户登录 文件上传下载 文件压缩 Excel导入 JQuery联想搜索 Activiti工作流 如何跑起来? 初始化数据库以MySQL为例 a. 创建数据库demo b. 创建activiti相关表,执行目录下所有SQL脚本 c. 创建用户...
spring mvc maven项目,导入IDEA后无报错,需要在IDEA中...该项目使用servlet3.0规范,无web.xml,无spring.xml等配置文件,所有的配置均通过Java Config、注解搞定,项目中还集成了log4j2技术,以及前端html文件等。
本项目集成了springboot+security+mybatis+redis+jwt用于学习security鉴权功能,其中有集成了redis,mybatis,jasypt,jwt,thymeleaf,knife4j,mybatis-plus 项目搭建已经比较成熟,能够直接进行使用,通过代码...
背景在日常开发中,Java日志记录通常包括选择日志外观(例如JCL和SLF4j)和日志实现(例如Log4j2和logback)。 假设您正在开发使用JAR的应用程序,该JAR利用log4j2进行日志记录。 在这种情况下,您不能选择log4j2...
1. springBoot默认使用的是tomcat-jdbc的数据库连接池,默认使用的是dbcp的 2. 日志使用由'Starter POMs',使用Commons Logging记录日志 ...4. bug修复 5. 数据源切换 6. 结合docker,改写...日志改为log4j 11.站点上线
不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架基本都换成了logback,总结一下,logback大约有以下的一些优点:内核重写、测试充分、初始化内存加载更小,这一切让logback性能和log4j相比有诸多...
日志:Log4J 后台配置: properties 缓存实现: Redis 初始账号密码:admin 123456 java毕设 # SpringBoot-Blog 框架:Springboot 数据库持久层:Mybatis 文章评论插件:Valine 分页插件:PageHelper 数据库...