日志管理Logger
来源:互联网 发布:c语言主要应用有哪些 编辑:程序博客网 时间:2024/06/05 19:26
org.apache,log4j,Logger详解
日志记录:1)监视代码中变量的变化情况,周期性的记录到文件中供其他应用统计分析
2)跟踪代码运行轨迹,作为日后审计的依据
3)集成开发环境中的调试器作用,向文件或控制台打印代码调试信息
最普通的做法就是在代码中嵌入许多的打印语句这些打印语句可以输出到控制台或者文件
比较好就是构造一个日志操作类来封装此类操作。
例子:
package com.coderdream.log4j;
import org.apache.log4j.Logger;
public class HelloLog4j{
//得到记录器
privatestatic Logger logger = Logger.getLogger(HelloLog4j.class);
publicstaftc void main(String[] args){
//PropertyConfigurator.configure(“.\log4j.properties”);
//插入记录信息(格式化日志信息)
//记录debug级别的信息
logger.debug(“Thisis debug message.”);
//记录info级别的信息
logger.info(“Thisis info message.”);
//记录error级别的信息
logger.error(“Thisis error message.”);
}
}
配置文件可知:1.根目录(级别)2.目的地(控制台、文件)3.输出样式
两种方式加载log4j.properties:
1.通过资源类对资源文件进行加载,
propertyConfigurator.configure(“.\log4j.properties”);//如上位置
2.由Spring载入log4j.properties配置文件(在web.xml中添加,在listener之前)
<!-- Log4j日志配置,设置log4j配置文件的位置-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/config/log4j.properties</param-value>
</context-param>
<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond-->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!-- 加载spring容器配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
类图:
Logger-日志写出器,供程序员输出日志信息
Appender-日志目的地,把格式化好的日志信息传输到指定的地方
Layout-日志格式化器,用来把程序员的loggingrequest格式化成字符串
Log4j的基本使用方法
Log4j由三个重要组件构成:
日志信息的优先级、日志信息的输出目的地、日志信息的输出样式
高à低 ERROR、WARN、INFO、DEBUG 只打印大于或等于当前优先级的信息
1.定义配置文件log4j.properties(WEB-INF/config)
1) 配置根Logger
log4j.rootLogger = level.appenderName, appenderName
level:等级 appenderName:输出目的地,可以是多个
log4j.rootLogger= info,console,file
2)配置输出目的地appender
log4j.appender.appenderName=org.apache.log4j.ConsoleAppender
org.apache.log4j.ConsoleAppender (控制台),
org.apache.log4j.FileAppender (文件),
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件),
org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个 新的文件)
org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
3) 日志信息格式
log4j.appender.appenderName.layout=org.apache.log4j.HTMLLayout
org.apache.log4j.HTMLLayout (以 HTML 表格形式布局),
org.apache.log4j.PatternLayout (可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout (包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout (包含日志产生的时间、线程、类别等等信息)
部分配置文件中内容:
### 设置ä¼å 级 ###
log4j.rootLogger = info,console,file
### è¾åºå°æ§å¶å° ###
log4j.appender.console= org.apache.log4j.ConsoleAppender //控制台
log4j.appender.console.layout =org.apache.log4j.PatternLayout
log4j.appender.layout.ConversionPattern=%-d{yyyy-MM-ddHH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### è¾åºå°æ件 ###
Org.apache.log4.jFileAppender //文件
log4j.appender.file= org.apache.log4j.DailyRollingFileAppender //每天产生一个日志文件
log4j.appender.file.File =/log/Platform/root_
log4j.appender.file.DatePattern=yyyy-MM-dd'.txt'
log4j.appender.file.MaxFileSize =10240KB
log4j.appender.file.MaxBackupIndex = 2000
log4j.appender.file.layout =org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{yy/MM/ddHH:mm:ss}]-%m%n
2.在代码中使用Log4j
1) 获取记录器
private static Logger logger =Logger.getLogger(HelloLog4j.class);
2)读取配置文件
BasicConfigurator.configure () : 自动快速地使用缺省 Log4j 环境。
PropertyConfigurator.configure ( String configFilename) :读取使用 Java 的特性文件编写的配置文件。
DOMConfigurator.configure ( String filename ) :读取 XML 形式的配置文件。
3)插入记录信息(格式化日志信息)
//记录debug级别的信息
logger.debug(“This is debug message.”);
//记录info级别的信息
logger.info(“This is info message.”);
//记录error级别的信息
logger.error(“This is error message.”);
- Logger 日志管理
- 日志管理Logger
- 安卓,Logger,日志管理
- Logger日志
- logger日志配置
- Java Logger(java日志)
- Logger 记录日志
- Linux日志logger
- Logger 日志设备
- Linux日志logger
- 日志Logger 2( 21)
- linux 日志logger
- linux 日志logger
- logger 日志级别
- Logger打印日志
- Android Logger日志系统
- Golang logger日志库
- linux 日志logger
- java /全局变量 /局部变量
- Redis 3.2.8源码剖析和注释系列文章地址归总
- mysql 查询 不支持区分大小写的解决办法
- UI02-视图创建
- leetcode(3) Longest Substring Without Repeating Characters
- 日志管理Logger
- CSS3实现一个鼠标跟随动态旋转效果
- Android源码基础解析之Activity启动流程
- 多条目加载
- 类、对象和构造函数之间的联系
- Android Notification 关闭 取消 震动 关闭取消声音和 Notification进行下载文件
- 亲历H5移动端游戏微信支付接入及那些坑(一)——支付方式与坑
- Stoer-Wagner算法(最小割集)
- 斯坦福大学机器学习课程笔记一概述