- 浏览: 650392 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (144)
- grails (2)
- jboss (2)
- html5 (2)
- maven (9)
- mysql (9)
- android (13)
- java (39)
- javascript (16)
- flex (3)
- oracle (7)
- ubuntu (5)
- tomcat (1)
- ssh (1)
- iphone (0)
- eclipse (5)
- jquery (4)
- web (7)
- ibatis (7)
- dwr (5)
- hibernate (1)
- ws (0)
- freemarker (4)
- css (2)
- webservice (1)
- html (2)
- jsp (4)
- os (5)
- xp (4)
- cpu (2)
- sql (5)
- db (2)
- 数据库 (5)
- log4j.properties (1)
- date (1)
- map (1)
- log4j (1)
- java spring dwr (1)
- (2)
- xml (4)
- ajax (3)
- servlet (1)
- xmlhttp (1)
- linux (2)
- socket (2)
- java,多线程 (1)
- android,java,os (1)
- Android,java (2)
- spring (1)
- java,dwr (1)
- js (2)
- 回调 (1)
- java,event (1)
- java ,注解, (1)
- avd (1)
- sdk (1)
- maven,java,xml,nexus (1)
- java,maven,nexus (1)
- Maven,Android,i-jetty,java (1)
- web js 参数 (1)
- java mac os (1)
- mac os (2)
- mac (1)
- 环境 (1)
- 搭建 (1)
- adt (1)
- adb (1)
- iOS (1)
最新评论
-
lhs472194266:
可以 X-Forwarded-For 可以轻易的被伪造
Java获取IP地址:request.getRemoteAddr()警惕 -
Nabulio:
图片全部加载不出来
maven 建立本地仓库 -
wahaha603:
...
Properties的相对路径以及文件的读取操作 -
一别梦心:
图片没了,楼主补充一下吧
maven 建立本地仓库 -
a_jie1981:
a_jie1981 写道试试http://www.findma ...
maven 建立本地仓库
##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 = yansTest@126.com
log4j.appender.MAIL.SMTPHost = www.yansTest.com
log4j.appender.MAIL.Subject = Log4J Message
log4j.appender.MAIL.To = yansTest@126.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";
}
}
发表评论
-
android wifi 无线调试
2012-06-17 17:24 4402数据线丢了,不想花钱去买,在网上看了看,android手机 ... -
adb server is out of date. killing...
2012-06-17 17:20 8028在cmd窗口输入adb shell 或 adb connect ... -
JAVA 回调
2012-06-12 11:35 918熟悉MS-Windows和X Windows ... -
Class is not accessible due to restriction on required library
2012-06-03 12:13 991How to solve This error messag ... -
Column 'id' in field list is ambiguous
2012-04-23 18:20 7646Column 'id' in field list is am ... -
java.util.ConcurrentModificationException
2012-04-01 16:24 0工作中碰到个ConcurrentModificationExc ... -
在Spring框架下获取Bean的方式总结
2012-04-01 16:23 0众所周知,Spring框架将D ... -
普通Java类获取Spring的Bean的方法
2012-04-01 16:18 1309在SSH集成的前提下。某 ... -
android 调用系统图片浏览器并返回图片路径
2012-04-01 15:56 2515调用系统图片浏览器的方法如下: Intent intent ... -
网络编程中Nagle算法和Delayed ACK的测试
2012-03-31 16:43 1411Nagle算法 的立意是良 ... -
ibatis的remapResults属性合理运用
2012-03-31 15:51 1474Proper Usage of remapResults=&q ... -
response.setHeader()下载中文文件名的设置
2012-03-31 15:44 103971. HTTP消息头 (1)通用信息头 即能用于请求消息中 ... -
判断当前操作系统是不是window
2012-03-19 09:08 1586/** * 判断当前操作系统是不是window * * ... -
freemarker数字格式化
2012-03-17 16:53 3040freemarker在解析数据格式的时候,自动默认将数字按3为 ... -
数据库时客户端提示 Cannot proceed because system tables used by Event Scheduler
2012-02-29 21:13 9870在打开数据库或者用数据库管理工具(Navicat)时客户端提示 ... -
Socket用法详解
2012-02-22 16:49 1125一、构造Socket Socket的构造方法有以下几种重 ... -
在任意位置获取应用程序Context
2012-02-16 10:53 1022Android程序中访问资源时需要提供Context,一般来说 ... -
JAVA进程CPU占用率分析方法
2012-02-13 17:05 35751: 首先把JDK Linux版本上传到服务器上.2: 使 ... -
MYSQL索引优化和in or替换为union all
2012-02-07 17:08 1262使用UNION ALL代替OR,这不是绝对的。具体什么时候选择 ... -
dwr同步问题
2012-02-06 22:58 862想要异步的时候,想要同步的时候同步,在不同的情况下我们有不同的 ...
相关推荐
- **定义Appender**:例如`log4j.appender.stdout=org.apache.log4j.ConsoleAppender`,定义了一个输出到控制台的Appender。 - **配置Appender属性**:如`log4j.appender.stdout.Target=System.out`,表示将日志输出...
`log4j`是一个广泛使用的Java日志框架,它提供了灵活的日志配置,能够帮助开发者记录程序运行过程中的各种信息。本文将深入探讨如何利用`log4j`实现按照日期每天写入不同日志文件的功能,以及涉及到的相关知识点。 ...
然而,提供的压缩包子文件名称“大福人家团购-大众点评团深圳站-大众点评网粤菜团购.mht”看起来与Log4J.xml配置文件不相关,可能是上传错误或不属于同一个主题。MHT文件是一种单一文件网页格式,通常用于保存网页的...
Log4j是由Apache软件基金会开发的一个开源日志组件,主要目标是提供一个轻量级、高效且易于使用的日志服务。它支持多种输出格式,包括控制台、文件、数据库、SMTP邮件等。Log4j包含三个主要组件:Logger(日志器)、...
6. **在代码中使用Log4j**:在需要记录日志的类中,使用`LogFactory.getLog`获取一个`Log`实例,然后调用`debug`、`info`、`warn`、`error`、`fatal`等方法记录不同级别的日志。 **理解Log4j.properties配置** `...
本文将深入探讨Log4j的核心概念、配置与使用方法,帮助读者构建起一个强大的日志管理系统。 1. **Log4j概述** Log4j是由Apache软件基金会开发的一个开源日志组件,主要用于记录应用运行过程中的各种信息。它不仅...
在类路径下(通常是src文件夹下)创建一个名为`log4j.properties`的配置文件,用于指定日志记录的具体配置。 ```properties # 配置文件示例 log4j.rootLogger=debug, appender1 # 定义appender1为控制台输出 log4j...
1. **配置文件**:在项目中,首先需要创建一个配置文件,例如`log4j.properties`,设置日志级别、Appender和Layout。例如: ``` log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j....
Log4j是由Apache基金会维护的一个开源日志框架,它提供了一套灵活且功能强大的日志解决方案。通过Log4j,开发者可以: - **控制日志输出目的地**:无论是控制台、文件、GUI组件还是网络服务,Log4j都能满足。 - **...
4. **使用Demo**: `log4j demo`可能包含一个Java应用程序,演示了如何在代码中使用Log4j。通常,首先需要通过`import org.apache.log4j.*;`导入相关包,然后创建Logger实例,调用其debug、info、warn、error等方法...
其次,`log4j-1.2.17.jar`是Apache Log4j的一个较旧版本,Log4j是Java世界中广泛使用的日志框架。它提供了丰富的配置选项,允许开发者控制日志输出的格式、级别、目的地等。Log4j 1.2.17包含了各种appender(日志...
log4j配置文件全部属性配置log4j模版
总结,"log4j-1.2.17.tar.gz"是一个包含Log4j 1.2.17版本所有源码和文档的压缩包,它在Java日志管理领域具有重要价值。理解并熟练使用Log4j,可以帮助开发者更好地监控应用程序,定位问题,优化性能,以及确保系统的...
Log4j是Apache软件基金会开发的一个Java日志库,它允许开发者在他们的应用中添加灵活且高效的日志记录功能。Log4j提供了多种级别的日志记录,包括DEBUG、INFO、WARN、ERROR和FATAL,这样开发者可以根据需要调整日志...
- **log4j.appender.stdout=org.apache.log4j.ConsoleAppender**:定义了一个名为`stdout`的追加器,该追加器负责将日志输出到控制台。 - **log4j.appender.stdout.layout=org.apache.log4j.PatternLayout**:设置`...
Log4j是Apache的一个开源项目,用以实现日志功能。它通过简单的API提供强大的日志记录功能,并且允许用户自定义配置来控制日志的输出级别、输出格式、输出目的地等。Log4j在Java应用程序中非常流行,广泛应用于各类...
这个项目将这两者与验证码、邮箱服务和日志系统Log4j进行了集成,为我们提供了一个全面的开发示例。 首先,SpringMVC是Spring框架的一部分,主要负责处理HTTP请求和响应,提供模型-视图-控制器(MVC)架构模式。...
Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件进行,这个文件定义了各个组件的设置。例如,`log4j.properties`中的配置如下: 1. **定义Logger** - `log4j.rootLogger=DEBUG, FILE` 这行...
例如,对于Log4j,我们会创建一个名为`log4j.properties`或`log4j2.properties`的文件,其中定义了日志级别、输出目的地(控制台、文件、数据库等)、日志格式和其他设置。配置文件的模板可以从网上找到,根据实际...
SLF4J提供了多个绑定,其中slf4j-log4j12就是将SLF4J接口绑定到Log4j实现的一个模块,使得开发者可以通过SLF4J的API来使用Log4j的功能。 描述中的“slf4j-log4j12-1.5.2.jar”说明了这是一个JAR文件,这是Java的可...