- 浏览: 801015 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yuhanwm910731:
我现在需要实现复选(非级联选择)的树形下拉菜单,麻烦发给我一份 ...
extjs3.X支持树型的下拉控件 -
shine1200:
“所以咱们现在设置的虚拟路径“/message/upload/ ...
weblogic虚拟路径的配置和使用(2) -
icefireforest:
Fangrn 写道jx_dream 写道楼主,我最近在做树形下 ...
extjs3.X支持树型的下拉控件 -
cloudfile:
谢谢分享!
c++库c#调用开发时需要注意的一点 -
xuweilinbegin:
我也要一份哦:xuweilin15353@163.com,谢谢 ...
extjs3.X支持树型的下拉控件
Log4j是Apache基金会的一个项目,它能为Java开发着提供功能强大使用方便的各种日志处理.当然它的版本不限于Java,还有C/C++等主流语言.我觉得它就象一把非常实用的锋利小刀,让我们的写程序时更加如鱼得水.
Log4j输出的信息分如下几类:ALL,DEBUG,INFO,ERROR,FATAL,级别从低到高,输出的内容是从多到少.从字面意思即可看出大 概,ALL指输出所有信息;DEBUG指调试信息;INFO指一般信息;ERROR指错误信息;FATAL指致命的错误信息。
输出的信息级别和内容我们可以在程序里面设置,但缺点就不够灵活,并且无法在程序运行期间进行参数调整。通过XML或Property配置文件可以在外部 控制Logger的输出,原理都一样的,只是表现形式不一样,看个人的习惯了。下面主要讲一下如何使用Property文件来灵活配置Log4j的输出。
在Log4j中你可以让信息输出到控制台(Console)、文件、远程数据数等中的其中一个或多个当中。
首先我们要先声明信息输出的级别,并且 为了能把信息输出到指定的目的地,我们要指定输出方案,如下所示:
log4j.rootLogger = DEBUG, A1,A4
DEBUG为输出信息的级别,A1,A4分别为输出方案的名称,下面我们来定义方案的具体参数。
指定该输出方案的信息输出目的地为控制台:
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
设定输出的布局为模式布局:
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
指定模式的具体参数:
log4j.appender.A1.layout.ConversionPattern =[%d{HH:mm:ss}] [%t] %-5p - %m %n
每个参数前要加%来说明,其中:
%d:日期(date),如:yyyy-MM-dd,yyyy-MM-dd HH:mm:ss等
%t:线程名称(Thread)
%-5p:信息优先级(Priority),宽度为5,左对齐。如DEBUG,FATAL等
%m:输出信息(Message)
%n:回车换行
还有其它几个象%c,%C,%F等
上面的方案A1指的是把信息输出到控制台,并且输出的格式按指定的格式输出。
我们还可以指定把信息输出到文件当中,如下为普通文件输出方案:
log4j.appender.A2 = org.apache.log4j.RollingFileAppender
log4j.appender.A2.File = logs\\test.log
log4j.appender.A2.MaxFileSize = 1MB
log4j.appender.A2.MaxBackupIndex = 3
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern =[%d] %-4r [%t] %-5p %c %x - %m %n
输出指定的文件test.log当中,并且指定该文件最大不超过1MB,超过之后将清除后再写入。当然也可以直接用FileAppender,不进行 Rolling,那么所以的日志信息都将追加到原信息的后面。MaxBackupIndex指的是最大备份数目。以上面文件为例,当test.log到达 1MB,则它直接被修改成test.log.1,如果这个文件已存在,则修改为test.log.2,直到MaxBackupIndex。新的日志信息, 将重新生成文件test.log。当下一次达到1MB时,此时test.log.1,test.log.2,test.log.3都已存在,则直接把 test.log.3删除,把test.log修改成test.log.3。
把信息输出到远程数据库当中:
# 定义A3输出到数据库
log4j.appender.A3 = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A3.BufferSize = 40
log4j.appender.A3.Driver = sun.jdbc.odbc.JdbcOdbcDriver
log4j.appender.A3.URL = jdbc:ODBC:driver={Microsoft Access Driver (*.mdb)};DBQ=MobileDB.mdb
log4j.appender.A3.User =
log4j.appender.A3.Password =
log4j.appender.A3.layout = org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern = INSERT INTO
log4j(createDate, thread, priority, category, message) values('%d',
'%t', '%-5p', '%c', '%m')
指定输出方案为JDBCAppender,即能过JDBC把日志自动写入到远程数据库当中。BufferSize指定缓冲区的大小,当输出内容达到缓冲区 的大小时,就把数据写入数据库一次。下面的参数依次为指暄数据库驱动名称、数据库URL地址、数据库登录用户名和密码,模式布局和Select语句。
我们也可以把信息输出到HTML文件当中,并且是按时间段自动生成文件,比如,每隔一个小时或一天、半天生成一个HTML文件:
log4j.appender.A4 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.File = logs\\log.html
log4j.appender.A4.DatePattern='.'yyyy-MM-dd-HH'.html'
log4j.appender.A4.layout = org.apache.log4j.HTMLLayout
第一个参数为指定输出方案为按日期滚动的文件方案。第二个参数指定文件名,第三个指定日期模式,最后一个指定布局为HTML布局。上面的设置会每隔一个小时产生一个HTML文件名,文件名为:log.html.2006-03-24-08.html的样子。
完整的配置文件log4j.properties如下:
log4j.rootLogger = DEBUG, A1,A4
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern =[%d{HH:mm:ss}] [%t] %-5p - %m %n
log4j.appender.A2 = org.apache.log4j.RollingFileAppender
log4j.appender.A2.File = logs\\test.log
log4j.appender.A2.MaxFileSize = 1KB
log4j.appender.A2.MaxBackupIndex = 3
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern =[%d] %-4r [%t] %-5p %c %x - %m %n
#11区 定义A3输出到数据库
log4j.appender.A3 = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A3.BufferSize = 40
log4j.appender.A3.Driver = sun.jdbc.odbc.JdbcOdbcDriver
log4j.appender.A3.URL = jdbc:ODBC:driver={Microsoft Access Driver (*.mdb)};DBQ=MobileDB.mdb
log4j.appender.A3.User =
log4j.appender.A3.Password =
log4j.appender.A3.layout = org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern
= INSERT INTO log4j(createDate, thread, priority, category, message)
values('%d', '%t', '%-5p', '%c', '%m')
log4j.appender.A4 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.File = logs\\log.html
log4j.appender.A4.DatePattern='.'yyyy-MM-dd-HH'.html'
log4j.appender.A4.layout = org.apache.log4j.HTMLLayout
在程序里面只需声明使用Property配置文件来控制输出就行了,如下所示:
static Logger logger = Logger.getLogger(DHMain.class);
public static void main(String[] args) {
PropertyConfigurator.configure("conf\\log4j.properties");
logger.debug("启动..." );
}
有了Log4j,我们完全可以抛弃System.out了,用它吃力又不讨好,何苦呢?
发表评论
-
提供IT系统运维支持、系统优化方案
2012-10-26 14:46 6提供IT系统运维支持、系统优化方案,有多个运维实施经验。 ... -
Java指定编码读写文件(UTF-8)
2010-11-30 14:00 3107有时我们需要程序动态生成jsp文件,采取系统默认的编码操作的文 ... -
was6.0发布struts2项目异常
2010-11-18 18:39 1984[10-11-18 18:31:33:609 CST] 000 ... -
利用spring提供的字符编码过滤器
2010-11-14 11:55 1968<!-- spring的字符集过滤器 --> ... -
简单的几句CSS布局口诀
2010-11-10 16:41 963简单的几句CSS布局口诀,就可以写出精简,标准的样式。 ... -
commons-email笔记
2010-11-10 14:38 1371import java.io.UnsupportedE ... -
如何解决 调用jar程序时出现 outofMemory的问题
2010-10-29 12:02 1200我们在调用 打包好的java程序时,如果程序要加载大量数据的话 ... -
GC策略的调优
2010-09-30 22:30 1625GC 策略在 G1 还没成熟的情况下,目前主要有串行、并 ... -
关于Spring和WebLogic版本兼容的一点小提示
2010-09-30 16:31 2062首先 WebLogic 的各个版本和 JDK 绑定的很紧, 或 ... -
删除WebLogic 10的缓存
2010-09-30 16:07 4639在WebLogic 10上部署了一个应用,最近作了更新并重新部 ... -
weblogic如何强制先加载web-inf/lib下的jar
2010-09-30 16:05 4782方法1: 修改WEB-INF\weblogic.xml (如 ... -
java smslib发送短信
2010-09-10 10:02 1631public class SendMessage { ... -
Spring定时器的两种实现方式
2010-09-01 21:07 1455有两种流行Spring定时 ... -
使用 Commons-Email 在邮件内容中直接嵌入图片
2010-08-31 20:25 1322我们在发送邮件的时候,如果使用HTML在邮件内容中嵌入图片,& ... -
Struts2中转换Date类型的问题
2010-08-29 09:43 1335Web开发会涉及到很多类型转换的情况。我们知道,页面中的一切值 ... -
java smslib 发送短信错误信息
2010-08-25 15:02 4245org.smslib.GatewayException: GS ... -
rxtx取代javax.comm实现Java跨平台设备端口通信
2010-08-24 08:53 2159From Rxtx <!-- start conte ... -
javascript汉字转拼音代码
2010-08-22 08:21 4573使用方法(1):pinyin.go('汉字'); //例:张家 ... -
关于IE等浏览器在下载JAR文件时的,将后缀更改为zip等问题及解决方案
2010-08-03 12:19 1208httpd.conf这个文件中的mime.types上面,打开 ... -
一句代码解决IE8兼容问题
2010-07-24 15:46 1582这篇文章就是寻求最简单的方法解决ie8兼容问题,当然这只是最简 ...
相关推荐
花了两天时间,将springboot框架搞定,maven+springboot+ mybatis+mysql+代码自动插件+log4j日志
(2)可在软件7*24小时连续运行的情况下,自动生成新的日期LOG文件。 (3)可自动删除指定天数前的LOG文件。 有DEMO,有源码,log4d\test 就是DEMO。 注意:log4d\test\Win32\Debug\log4d.props 文件的配置。
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是...
将日志消息发送到 Scribe 的 log4j appender。 有3个maven项目: scribe-client - 为 scribe 自动生成的 Java 客户端 scribe-log4j - scribe-log4j附加程序 scribe-example - 使用示例 入门 克隆仓库 git clone ...
引用步骤: 1.基于SpringBoot自动...2.基于logback、log4j的MDC机制 3.日志配置中添加traceId引用,如下: [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%X{traceId}] [%thread] %-5level %logger{80} %line - %msg%n</Pattern>
15、新增log4j2,TableGo的运行日志将在logs目录中输出,方便查找问题。 16、公共参数移除两个扩展参数配置,生成JavaBean功能移除用户模板配置。 17、新增TableGo官网:http://www.tablego.cn 18、新增数据信息...
日志读取器用于读取基于javafx构建的log4j日志文件的应用程序。 日志记录会根据其严重程度进行颜色编码,并可以进行相应过滤。 应用程序支持多个打开的文件。 如果其中有新记录,则可以自动刷新每个文件。 重置日志...
log4j-1.2.17.jar
15、新增log4j2,TableGo的运行日志将在logs目录中输出,方便查找问题。 16、公共参数移除两个扩展参数配置,生成JavaBean功能移除用户模板配置。 17、新增TableGo官网:http://www.tablego.cn 18、新增数据信息...
日志管理配置 --> log4j.xml 国际化配置->globalMessages_zh.properties(中文) globalMessages_en.properties(英文) 页面美工 --> 页面按钮样式及CSS样式文件 生成的代码直接拷贝到MyEclipse里,做简单设置,发布后...
日志的log4j的jar包导入。 图片3.png (2) 然后选中导入所有的jar包,然后右击,选中Add as lib..,然后在 level 选项 中选择Project Library,这就完成了相关自动生成代码的包的导入。 图片4.png (3) ...
基于apache httpclient 4.2.X开发 自动处理redirect url jsoup解析response text log4j 自动生成日志 源代码基于UTF-8编码,如果出现乱码请切换到此编码 压缩包 包含所有jar文件。
3、表单数据自动生成 表单的有些数据,不希望由人工输入获得,国讯OA可以根据被计算字段、原始数据和计算方法自动得出目标字段数据,并可以此作为下一路由选择的判断条件。 4、系统自动提醒 对于请求的不同状况,...
日志管理配置 --> log4j.xml 国际化配置-->globalMessages_zh.properties(中文) globalMessages_en.properties(英文) 页面美工 --> 页面按钮样式及CSS样式文件 生成的代码直接拷贝到MyEclipse里,做简单设置,...
2. 使用的日志是log4j 3.简单的CRUD接口写好了且postman测试通过。没有前端页面。 4. 测试类(HouseXiaoServiceImplTest.java)也测试通过。 5. 项目中的DTO、VO没有用到,如果用了,不知道接口测通不。
通过log4j日志,将参数自动填充,生成可执行的sql。
日志管理配置 --> log4j.xml 国际化配置-->globalMessages_zh.properties(中文) globalMessages_en.properties(英文) 页面美工 --> 页面按钮样式及CSS样式文件 生成的代码直接拷贝到MyEclipse里,做简单设置,...
用log4j实现日志管理,在E盘生成scstanddd.log的日志文件,用自定义的过滤器实现了权限管理。后台是Ext管理,超酷的界面。后台一个照片管理可以放大图片,超帅,前台的社团申请会在D盘jasper文件夹下生产相应的pdf...
### 3.kylin-log4j2 使用slfj日志,并且支持Sentry. ### 4.kylin-parent springboot项目parent ### 5.kylin-rabbitmq 对rabbitmq进行自动化配置,并提供常用SimpleRabbitTemplate ### 6.kylin-redis 对redis进行...