Log4j 日志文件输出编码设置
----------------------------
1
log4j.properties
log4j.rootCategory=INFO, CONSOLE, LOGFILE
# 包消息级别
log4j.logger.org.hibernate=INFO
# CONSOLE settings.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=ERROR
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{MM-dd HH:mm:ss.SSS} [%-5p] %c - %m%n
# LOG FILE settings.
log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.File=log/debug.log
log4j.appender.LOGFILE.File.DatePattern='.'yyyy-MM-dd
#log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
# 特殊号码 ㄧ ■ 显示
log4j.appender.LOGFILE.layout=cn.bisoft.component.log.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=[%d{mm:ss.SSS}] ㄧ %p ㄧ %-20C{1}.%-20M(L: %-4L) ■ %-50m ㄧ (%r ms)%n
# 输出消息编码
log4j.appender.LOGFILE.encoding=UTF-8
2
PatternLayout.java
package cn.bisoft.component.log.log4j;
import java.io.UnsupportedEncodingException;
import org.apache.log4j.helpers.PatternParser;
public class PatternLayout extends org.apache.log4j.PatternLayout
{
@Override
protected PatternParser createPatternParser(String pattern)
{
try
{
pattern = new String(pattern.getBytes("iso-8859-1"));
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
return super.createPatternParser((pattern));
}
}
3.
日志输出:
debug.log
[33:22.437] ㄧ INFO ㄧ NativeApiIllustrationTest.setUp (L: 39 ) ■ 我是中国人■ ㄧ (1297 ms)
[33:22.734] ㄧ INFO ㄧ SessionFactoryImpl .close (L: 927 ) ■ closing ㄧ (1594 ms)
分享到:
相关推荐
要解决Log4j日志文件乱码的问题,关键在于指定正确的字符编码。在配置文件中添加指定编码的参数可以确保日志被正确地以特定的字符集(如UTF-8)写入。以下是两种不同配置文件格式的解决方案: 1. **log4j....
这个文件是Log4j日志配置的核心,用于定义日志的输出格式、日志文件的滚动规则等。 2. 配置DailyRollingFileAppender:通过定义一个DailyRollingFileAppender,可以使得日志文件按照日期进行滚动,每天生成一个新的...
在使用log4j时,经常会在控制台或日志文件中看到乱码,尤其是在涉及中文字符的情况下。这通常是由于日志系统的字符编码设置与应用程序的字符编码不一致导致的。例如,如果应用程序使用的是UTF-8编码,而log4j默认...
使用Log4j2的Layout组件定义日志输出格式。例如,我们可以使用PatternLayout,并自定义模式来指定哪些字段需要脱敏。例如,`%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n` 是一个基本的日志...
本工程以一个简单的log4j示例演示了log4j的使用方法 本工程编码方式:UTF-8 本工程开发工具:MyEclipse 说明:log4j详细使用方法请参考博客:http://blog.csdn.net/gaohuanjie/article/details/44077551
为了防止这些自定义`Logger`的日志同时输出到root logger配置的日志文件,可以使用`log4j.additivity`属性: ```properties log4j.additivity.mylogger1=false log4j.additivity.mylogger2=false ``` 这将阻止`...
`<appender>`元素定义了日志输出的目标,本例中使用的是按日期滚动的日志文件输出方式。 - **`name`属性**:表示appender的名称。 - **`class`属性**:指定appender的实现类。 - **`DailyRollingFileAppender`**:...
在配置Log4j时,我们需要设置KafkaAppender的相关属性,包括Kafka的broker列表、主题名以及消息编码方式等。例如: ```xml <appender name="KAFKA" class="org.apache.log4j.kafka.KafkaAppender"> ...
log4j和log4j2日志应用文档 ...Log4j和Log4j2提供了灵活的日志记录和管理机制,通过配置文件可以定义多种日志输出目的地、日志级别和日志格式化器等内容。本文档为Log4j和Log4j2日志应用提供了详细的介绍和相关知识点。
- `log4j.appender.appender2.layout=org.apache.log4j.PatternLayout`: 同样设置了日志格式化布局为 PatternLayout。 #### 使用步骤 1. **环境准备**: - 确保安装了 MySQL 数据库,并创建好相应的数据库和表...
开发者可以通过在Java项目中引用这个jar,利用Log4j提供的API来实现各种日志记录功能,如控制台输出、文件写入、邮件发送等。 - **jdbc.properties**: 这可能是一个包含数据库连接信息的配置文件。在Java应用中,...
在使用Apache Log4j 2.3时,开发人员应确保正确配置日志框架,包括设置合适的日志级别(如DEBUG、INFO、WARN、ERROR、FATAL)和指定日志输出的位置。此外,考虑到性能和可维护性,建议遵循最佳实践,如避免过多的...
Log4j支持以下**输出级别**: - DEBUG:用于调试信息,通常包含详细的内部状态和流程。 - INFO:常规信息,用于追踪应用程序的正常流程。 - WARN:警告信息,表示可能存在问题但不会立即导致错误。 - ERROR:错误...
`log4j.rootLogger`是配置日志系统的基本设置,决定了日志信息的级别和输出目标。日志级别包括OFF, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, ALL,Log4j建议使用DEBUG, INFO, WARN, ERROR这四个级别。例如,若设置...
在 Log4j 中,Appender 是一种输出目标,它负责将日志信息写入到指定的目标中。本文将对 Log4j 中的常用 Appender 配置进行详细介绍。 WriterAppender WriterAppender 是 Log4j 中的一种基本 Appender,它可以将...
与Android原生的日志系统相比,`log4j`提供了更方便的API,允许开发者自定义日志输出格式,以及将日志输出到不同的目的地,如文件、数据库或网络。 要将`log4j`引入Android项目,你需要以下步骤: 1. **获取jar包*...
"logback-slf4j日志配置文件下载即可使用" logback-slf4j是Java领域中一种常用的日志记录解决方案,它通过结合slf4j(Simple Logging Facade for Java)来提供了异步日志输出的功能,能够将日志输出到不同的文件中...
这里指定了 XML 文件的版本、编码以及 Log4j 的命名空间。 ##### 2. 控制台输出配置 (ConsoleAppender) 控制台输出配置用于将日志信息输出到控制台,方便开发者在开发过程中查看日志。示例配置如下: ```xml ...