log4j使用总结
来源:互联网 发布:mac怎么关闭dashboard 编辑:程序博客网 时间:2024/05/12 08:12
刚研究了一下log4j的用法,现在做一下总结。我先说一下知识点,后面会给出一个我写好的例子。
一、jar包
log4j是一个开源项目,要使用就必须引入jar包,这里给出一个我云盘分享的链接:log4j-1.2.17.jar,当然这个网上好多,自己随便搜一下就能找到。
二、日志级别,这里没什么好说的,我就把人家总结好的粘贴过来吧
每个Logger都被了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为:
A:off 最高等级,用于关闭所有日志记录。
B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
D:warm 表明会出现潜在的错误情形。
E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
G:all 最低等级,用于打开所有日志记录。
三、输出端APPender
输出端说白了就是你的日志要写到哪里,这个选择性很多,根据你自己需求选择就行了。下面列一下可用的输出端:
1、org.apache.log4j.ConsoleAppender:将日志信息输出到控制台,本人还是喜欢syso
2、org.apache.log4j.FileAppender:将日志信息输出到一个文件
3、org.apache.log4j.DailyRollingFileAppender:将每天的日志信息输出到一个新的日志文件
4、org.apache.log4j.RollingFileAppender:这一个与上一个不同的地方就是可以控制日志文件的大小,超出时会生成新的
5、org.apache.log4j.WriteAppender:将日志信息以流格式发送到任意指定地方
6、org.apache.log4j.jdbc.JDBCAppender:通过JDBC把日志信息输出到数据库中
四、日志格式化器
这个也就是控制你日志写的格式,常见的有三种,分别是:HTMLLayout按照html格式输出,SimpleLayout简单输出模式(级别-信息),PatternLayout可以自定义格式。
其中PatternLayout是比较常用的,可以定义一些固定的信息,也可以指定一些变量信息,这些变量信息一般用‘%’与字母表示,常见的有:%m 表示日志信息, %t 表示输出该日志的线程, %d 表示输出日期时间, %n表示换行。
以上这些信息都可以在配置文件中配置,我目前用的配置文件名称为“log4j.properties”,直接放在src目录下就行,不需要手动 加载。如果用其它的名字或者放在其它的位置需要手动加载,加载用 PropertyConfigurator.configure("classes/my.properties");
下面是我用的配置文件:log4j.properties
log4j.rootLogger=DEBUG,msg,sql,erolog4j.appender.msg=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.msg.File=./log/infolog4j.appender.msg.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.msg.Encoding=GBKlog4j.appender.msg.Threshold=INFOlog4j.appender.msg.layout=org.apache.log4j.PatternLayoutlog4j.appender.msg.layout.ConversionPattern=<debug %d{yyyy-MM-dd HH:mm:ss.SSS} : %m />%nlog4j.appender.sql=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.sql.File=./log/sqllog4j.appender.sql.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.sql.Encoding=GBKlog4j.appender.sql.Threshold=FATALlog4j.appender.sql.layout=org.apache.log4j.PatternLayoutlog4j.appender.sql.layout.ConversionPattern=<sql %d{yyyy-MM-dd HH:mm:ss.SSS} : %m />%nlog4j.appender.ero=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.ero.File=./log/errorlog4j.appender.ero.DatePattern='.'yyyy-MM-dd'.log'log4j.appender.ero.Encoding=GBKlog4j.appender.ero.Threshold=ERRORlog4j.appender.ero.layout=org.apache.log4j.PatternLayoutlog4j.appender.ero.layout.ConversionPattern=<error %d{yyyy-MM-dd HH\:mm\:ss.SSS} \: %m />%n
这里我就不对日志文件做详细说明了,相信仔细看一下就能明白了。
下面是我调用的类,是根据日志文件做的,很简单
package com.bks.log;import org.apache.log4j.Logger;/** * 日志管理类 * @author ICE * */public class LOG {/** * 获取log4j的日志记录器,通过该记录器 */private static Logger logger = Logger.getLogger(LOG.class);/** * 向info日志文件中记录日志信息 * @param msg 要记录的日志信息 */public static void log(String msg){logger.info(msg);}/** * 向fatal日志文件中记录信息,这里主要记录sql信息 * @param sql 要记录的日志信息 */public static void SQLLog(String sql){logger.fatal(sql);}/** * 向error日志文件中记录信息 * @param error 要记录的日志信息 */public static void errorLog(String error){logger.error(error);}/** * 向error日志文件中记录信息,信息包括基本信息和异常信息 * @param error 要记录的基本日志信息 * @param e 要记录的异常信息 */public static void errorLog(String error,Exception e){logger.error(error + ":" + e.getMessage());}}
这里一些知识点没有用到,也没有在程序中手动配置一些信息,如果需要可以自己研究一下。
- 【Log4j】Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结(转载)
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Log4j使用总结
- Deep Learning浅谈 【转自pluskid的个人网站】
- 自动编号存储过程
- Android 技巧
- Groovy集合类型
- 网站日志HTTP返回代码解析
- log4j使用总结
- Andengine 场景分层
- 启动Eclipse ADB server didn't ACK * failed to start daemon *
- 数组的冒泡排序
- 大量远控源码
- 2014美团校园招聘笔试(10.8北京)
- 苹果“APP复活”,用户爽了,开发人员懵了
- Liblinear库编译
- C#Winfrom程序连接Oracle数据库(免安装Oracle客户端)