`
rsljdkt
  • 浏览: 451642 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

一个有用的log4j.properties模板

    博客分类:
  • Java
阅读更多

一个有用的log4j.properties文件模板

##Log4J的配置之简单使它遍及于越来越多的应用中了 

##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了。 

##此文件(log4j.properties)内容来自网络,非本文作者liigo原创。 
log4j.rootLogger = DEBUG, CONSOLE,A1 
log4j.addivity.org.apache = true  

# 应用于控制台 
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold = DEBUG 
log4j.appender.CONSOLE.Target = System.out 
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern = [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 
#log4j.appender.CONSOLE.layout.ConversionPattern = [start] % d  {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] n % c[CATEGORY] % n % m[MESSAGE] % n % n 

#应用于文件 
log4j.appender.FILE = org.apache.log4j.FileAppender 
log4j.appender.FILE.File = file.log 
log4j.appender.FILE.Append = false  
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern = [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 
# Use  this  layout  for  LogFactor  5  analysis 

# 应用于文件回滚 
log4j.appender.ROLLING_FILE = org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold = ERROR 
log4j.appender.ROLLING_FILE.File = rolling.log 
log4j.appender.ROLLING_FILE.Append = true  
log4j.appender.ROLLING_FILE.MaxFileSize = 10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex = 1  
log4j.appender.ROLLING_FILE.layout = org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern = [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 

#应用于socket 
log4j.appender.SOCKET = org.apache.log4j.RollingFileAppender 
log4j.appender.SOCKET.RemoteHost = localhost 
log4j.appender.SOCKET.Port = 5001  
log4j.appender.SOCKET.LocationInfo = true  
# Set up  for  Log Facter  5  
log4j.appender.SOCKET.layout = org.apache.log4j.PatternLayout 
log4j.appender.SOCET.layout.ConversionPattern = [start] % d  {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] % n % c[CATEGORY] % n % m[MESSAGE] % n % n 

# Log Factor  5  Appender 
log4j.appender.LF5_APPENDER = org.apache.log4j.lf5.LF5Appender 
log4j.appender.LF5_APPENDER.MaxNumberOfRecords = 2000  

# 发送日志给邮件 
log4j.appender.MAIL = org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.Threshold = FATA 
log4j.appender.MAIL.BufferSize = 10  
log4j.appender.MAIL.From = web@www.wuset.com 
log4j.appender.MAIL.SMTPHost = www.wusetu.com 
log4j.appender.MAIL.Subject = Log4J Message 
log4j.appender.MAIL.To = web@www.wusetu.com 
log4j.appender.MAIL.layout = org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern = [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 


# 用于数据库 
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DATABASE.URL = jdbc:mysql: // localhost:3306/test  
log4j.appender.DATABASE.driver = com.mysql.jdbc.Driver 
log4j.appender.DATABASE.user = root 
log4j.appender.DATABASE.password =  
log4j.appender.DATABASE.sql = INSERT INTO LOG4J (Message) VALUES ( ' [framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ' ) 
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout 
log4j.appender.DATABASE.layout.ConversionPattern = [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.File = SampleMessages.log4j 
log4j.appender.A1.DatePattern = yyyyMMdd - HH ' .log4j '  
log4j.appender.A1.layout = org.apache.log4j.xml.XMLLayout 

#自定义Appender 
log4j.appender.im  =  net.cybercorlin.util.logger.appender.IMAppender 
log4j.appender.im.host  =  mail.cybercorlin.net 
log4j.appender.im.username  =  username 
log4j.appender.im.password  =  password 
log4j.appender.im.recipient  =  corlin@cybercorlin.net 
log4j.appender.im.layout = org.apache.log4j.PatternLayout 
log4j.appender.im.layout.ConversionPattern  = [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 

# 结束 

 

Log4J发日志邮件给多个接收者及标题、正文乱码问题

以前开发的系统没有单独的日志管理,所有的日志统一输出到tomcat后台一个文件里,不几天就是好几G,现在要整体增加一个Log4J管理日志的功能,其实这方面的资料网上多的是。发邮件的配置说明也有,但是具体怎么发,乱码问题怎么解决那就比较少了。
       利用javamail发送邮件,你需要导入包mail.jar和activation.jar这两个包 ,否则是没法发邮件的 ,下边配置文件里绿色行显示的就是发给两个接收者ac和ae。

       这里会出现中文乱码问题,主要有两方面的乱码,一是标题乱码;二是正文乱码。下边具体说明这两种乱码的解决方案。
一、 标题乱码
Log4J日志邮件的标题在配置文件log4j.properties里设定,如下
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=ab@163.com
log4j.appender.MAIL.SMTPHost=smtp@163.com
log4j.appender.MAIL.Subject= Log4J提醒您:系统发生了严重错误 log4j.appender.MAIL.To=ac@163.com,ae@163.com
log4j.appender.MAIL.layout=com.sun.DefineLayOut
log4j.appender.MAIL.layout.LocationInfo=true

       绿色的行就是标题,log4J配置文件默认的读取方式是ISO-88591,遇到中文会出现乱码,我们可以把这个配置文件log4j.properties用jdk的工具native2asii转换一下编码方式。
命令:native2asii log4j.properties log4jxx.properties
把这个log4jxx.properties改名为log4j.properties取代原来的log4j.properties就ok了。
灰色行重新编码后是:
log4j.appender.MAIL.Subject=Log4J\u63d0\u9192\u60a8\uff1a\u7cfb\u7edf\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8bef

二、 正文乱码
        正文乱码,解决也比较简单。阅读Log4J的源码类SMTPAppender,我们可以发现sendBuffer()方法中有这样一句:
part.setContent(sbuf.toString(), layout.getContentType());
我们继续追踪发现layout就是配置文件里的layout属性对应的布局模式。但是这些布局模式都是继承自Layout,而contentType是只可通过getContentType方法取得,不能修改。所有的布局模式getContentType方法返回的都是”text/plain”;
为处理中文乱码,我们可以写一个布局模式。如果你要使用HTMLLayout,我们就写一个HTMLLayout的子类,覆盖HTMLLayout的getContentType方法即可。假如我要用org.apache.log4j.HTMLLayout。我们就可以写一个DefineLayOut类,代码如下:
package com.sun;

import org.apache.log4j.HTMLLayout;
public class DefineLayOut extends HTMLLayout{
public String getContentType() {
return "text/html;charset=GBK";
}
}
对应的配置文件设置如红色行所示。

分享到:
评论

相关推荐

    log4j.properties(完整版) log4j.properties(精简版)

    java 日志出入log4j配置文件(完整版和精简版) log4j.properties(完整版) log4j.properties(精简版)

    Log4j2学习log4j2.xml配置模板

    Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用

    java ssh志愿服务管理系统源码

    log4j.properties 日志文件 *.properties装备文件 Struts.xml 装备action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传下载, admin common 前台JSP页面 WEB-INF (lib+jsp+*.xml) ...

    应用分析监控平台 闪电狗.zip

    闪电狗监控(flash-dog)起源于杭州斯凯网络科技有限公司一个真实项目,主要优点是轻巧快捷,非侵入式,不影响业务代码,只需加入几个jar包和修改log4j配置文件,就能监控任意指标,如CPU,内存、线程,游戏收入,...

    springboot+mybatis+内置tomcat示例.rar

    内置 log4j2 日志文件,每天生成日志 application.properties 配置如下 #静态文件配置 spring.webflux.static-path-pattern =classpath:/static/** #数据库配置 #spring.datasource.url =jdbc:mysql://...

    Maven权威指南 很精典的学习教程,比ANT更好用

    一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven ...

    webx3框架指南PDF教程附学习Demo

    一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制造就了Webx的非常好的扩展性,且比未经扩展的Spring更易使用。 • 开放性 —— Webx被设计成多个层次,层次间的分界线很清晰。每个层次都足够开放和易于...

    spring-minimal-template:我对Spring应用程序的最小模板

    春天最小模板 我对Spring应用程序的最小模板: Spring4:jdbcTemplate,事务,属性占位符 数据库:H2,带有用于创建... 日志记录:sl4j + log4.xml + log4j.properties 测试:junit,弹簧测试,mockito 建立:Maven

    simple-cas4-overlay-template:基本CAS4 Maven War叠加模板

    当前文件是: cas.properties log4j2.xml建造mvnw clean package 或者mvnw.bat clean package部署方式嵌入式码头在/etc/cas/jetty/thekeystore使用密码changeit创建一个Java密钥库。 将您的CAS服务器证书导入此密钥...

    springboot参考指南

    使用YAML或JSON配置Log4j2 vi. 67. 数据访问 i. 67.1. 配置一个数据源 ii. 67.2. 配置两个数据源 iii. 67.3. 使用Spring Data仓库 iv. 67.4. 从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用...

    SpringBoot新手学习手册.pdf

    6.1使用log4j记录日志 9 6.2使用AOP统一处理Web请求日志 9 七、 缓存支持 9 7.1注解配置与EhCache使用 9 使用Redis做集中式缓存 9 八、 其他内容 9 8.1、使用@Scheduled创建定时任务 9 8.2、使用@Async实现...

    sso:单点登录系统

    log4j2.xml 建造 mvnw clean package 或者 mvnw.bat clean package 部署方式 嵌入式码头 使用密码changeit在/etc/cas/jetty/thekeystore创建Java密钥库。 将您的CAS服务器证书导入此密钥库中。 mvnw jetty:run-...

    s2m企业级整站系统 v4.0.0.zip

    [升级] Log4j2日志框架 升级至 2.4.1 [升级] springframework框架升级至4.2.2版本 [新增] 在线工单功能 [修复] 标签删除后,导致原文章获取相关文章报错问题 [新增] 插件管理功能,支持多插件管理 [新增] 每个...

    ssh(structs,spring,hibernate)框架中的上传下载

     第3~9行定义了一个数据源,其实现类是apache的BasicDataSource,第11~25行定义了Hibernate的会话工厂,会话工厂类用Spring提供的LocalSessionFactoryBean维护,它注入了数据源和资源映射文件,此外还通过一些键值...

    SpringBoot新手学习手册

    6.1使用log4j记录日志 30 6.2使用AOP统一处理Web请求日志 32 6.3Spring Boot集成lombok让代码更简洁 33 七、 缓存支持 35 7.1注解配置与EhCache使用 35 7.2使用Redis集成缓存 37 八、 热部署 37 8.1 什么是热...

    YouWebUtils:常用web开发工具集

    快速load一个properties文件 third:主要放项目开发常用工具类,如: Class处理 提供扫描类等方法 数据库处理 库处理:从连接中获取所连接的库名/从库中获取所有表名 表处理:表存在/从表中获取所有列名 类名处理:...

    单点登录源码

    Log4J | 日志组件 | [http://logging.apache.org/log4j/1.2/](http://logging.apache.org/log4j/1.2/) Swagger2 | 接口测试框架 | [http://swagger.io/](http://swagger.io/) sequence | 分布式高效ID生产 | ...

    基于springboot的设备管理系统+源代码+文档说明

    - 日志管理:SLF4J 1.7、Log4j - 页面交互:Vue2.x **软件需求** - JDK1.8 - MySQL5.5+ - Maven3.0+ **本地部署** - 通过git下载源码 - 创建数据库renren_security,数据库编码为UTF-8 - 执行db/...

    SSM整合(版本Spring4.2.3+SpringMVC+Mybatis3.1.1)

    本项目模板包含SSM所必须的jar包和oracle驱动,SSM三大配置文件,log4j详细配置。导入eclipse时在build path中配置自己环境的类库,spring配置文件中配置数据库信息。 PS 遇到jdk版本冲突问题:右键项目-》...

Global site tag (gtag.js) - Google Analytics