`
xitong
  • 浏览: 6400897 次
文章分类
社区版块
存档分类
最新评论

log4j 具体应用(续)

 
阅读更多

现在需求发生改变,要求记录下类中状态信息,做成报表,也就是现在有两个日志文件gasturbine.log1和gasturbine.log2,前者用于显示debug信息,后者用于专门显示状态信息,如果仅用一个logger很难搞定,因为一个logger虽然可以对应多个配置文件以及不同的格式,但每个文件显示的内容是一样,现在要求是两个文件的内容不一样,所以考虑采用两个logger

step1)修改先前的配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="appender1" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log1.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>

<appender name="appender2" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log2.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n"/>
</layout>
</appender>

<logger name="component" additivity="false">
<level value="info"/>
<appender-ref ref="appender2"/>
</logger>

<root>
<level value ="debug"/>
<appender-ref ref="appender1"/>
<!--appender-ref ref="appender2"/-->
</root>

</log4j:configuration>

step2) 修改logger的封装类

/*
* Created on 2005-4-23
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package gasturbine.model.util;

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;

/**
* @author Pw
*
*
*/
public class SysLog {
static Logger logger = Logger.getRootLogger();
static Logger infologger=Logger.getLogger("component");

static {
DOMConfigurator.configure("classes/log4j.xml");
}

public static void debug(Object o) {
logger.debug(o);

}

public static void debug(double d) {
logger.debug(""+d);

}
public static void info(Object o) {
infologger.info(o);

}

public static void info(double d) {
infologger.info(""+d);

}

}

step3 )调用SysLog .info

代码片断:

private void titleLog() {

sb.append(SimLog.format("denA0"));
sb.append(SimLog.format("denV0"));
sb.append(SimLog.format("T0"));
sb.append(SimLog.format("u0"));

SysLog.info(sb.toString());
sb.delete(0, sb.length());
}

附上显示结果

gasturbine.log1.txt的部分内容

2005-04-23 19:09:19,921 [main] DEBUG - ========第0次循环开始========
2005-04-23 19:09:19,921 [main] DEBUG - ===step 1 从环境中取出计算所需变量===
2005-04-23 19:09:19,953 [main] DEBUG - 入口湿空气流量:58.14 kg/s
2005-04-23 19:09:19,953 [main] DEBUG - 出口湿空气流量:70.0 kg/s
2005-04-23 19:09:19,953 [main] DEBUG - 入口湿空气温度:293.0 K
2005-04-23 19:09:19,953 [main] DEBUG - 出口湿空气温度:300.0 K
2005-04-23 19:09:19,953 [main] DEBUG - 入口湿空气压力:1913300.0 Pa
2005-04-23 19:09:19,953 [main] DEBUG - 出口湿空气压力:1713300.0 Pa
2005-04-23 19:09:19,953 [main] DEBUG - 入口湿空气含湿量:0.2 g/kg
2005-04-23 19:09:19,953 [main] DEBUG - 出口湿空气含湿量:0.6 g/kg
...................................

gasturbine.log2.txt的部分内容

denA0 denV0 T0
22.636187739301306 9.867221190297283 0.004528142995369833
21.537187939373213 18.5678478393985730.004357757597157780
.................................

分享到:
评论

相关推荐

    日志-Apache-log4j2-Java-下载慢

    Apache Log4j2是Java平台上的一个开源日志框架,它是Log4j的下一代版本,提供了更为高效且灵活的日志...了解以上知识点后,你可以根据具体的应用场景来有效地使用和优化Apache Log4j2,解决日志记录过程中遇到的问题。

    Java实现的EverBox库 Everbox4j_java_EverBox_

    Everbox4j是开发者为了方便Java应用程序接入EverBox服务而创建的一个客户端库。 这个库的核心功能包括: 1. **文件上传**:Everbox4j提供了API,使得开发者可以将本地文件上传到EverBox账户的云端空间。这通常涉及...

    一款基于Java设计的文件传输系统,其中包含了源码以供大家参考

    Java的java.util.logging或log4j库可以用来记录系统运行过程中的信息,帮助开发者调试和定位问题。 压缩包中的"resource"文件夹可能包含系统运行所需的资源文件,如配置文件、证书、静态内容或其他辅助数据。这些...

    This is video downloader app based on JAVA language coveri.zip

    10. **日志记录**:为了调试和问题追踪,应用可能包含日志记录功能,如使用Log4j或Java内置的日志框架。 11. **资源管理**:对于大型视频文件,可能需要分段下载和合并,这需要有效的内存管理和资源分配策略。 12....

    java QQ附件java QQ附件

    10. **日志记录**:为了便于调试和问题排查,使用日志框架如Log4j或java.util.logging记录程序运行过程中的关键信息。 11. **测试**:编写单元测试和集成测试,确保代码的正确性和稳定性,可以使用JUnit或TestNG等...

    java上传文件到ftp服务器

    为了跟踪上传和下载的过程,可以使用日志框架,如Log4j或SLF4J记录FTP操作的日志。同时,确保捕获并处理可能出现的异常,如网络问题、认证失败等。 8. 关闭连接: 完成FTP操作后,记得关闭连接以释放资源: ```...

    [上传下载]南京同庆水若寒开发的下载系统_downjsp.zip

    开发者可能使用了try-catch-finally结构以及日志库如Log4j或java.util.logging。 9. **性能优化**:对于下载系统,可能涉及文件缓存、负载均衡、CDN(内容分发网络)集成,以提高下载速度和服务器的处理能力。 10....

    Java自动下载网页

    9. **日志记录**:为了追踪和调试程序,可以使用日志记录库,如Log4j,记录程序运行过程中的重要事件。 10. **优化与性能**:考虑到效率,可能需要优化下载过程,比如使用缓冲技术提高读写速度,或者限制并发下载的...

    java源码:JLoading Java版的Mp3下载工具.rar

    9. **日志系统**:为了便于调试和故障排查,项目可能集成了日志框架如Log4j或Java内置的日志API。 10. **测试**:项目可能包括单元测试或集成测试,确保各个功能模块的正确性。 要深入理解这个工具,开发者需要...

    IP管理工具-用java编写的

    9. **错误处理和日志记录**:通过`try-catch`异常处理和`java.util.logging`或第三方日志库(如Log4j)记录运行时信息,便于调试和问题排查。 10. **配置文件读写**:可能需要读取或保存配置文件,如IP地址池、...

    MATLAB.ppt--MATLAB.ppt

    MATLAB是一种广泛应用于工程、科学计算和数学领域的高级编程环境,尤其在处理线性代数问题上具有显著优势。它的名称来源于"Matrix Laboratory",强调了矩阵运算在该平台中的核心地位。MATLAB提供了一个直观的用户...

    Matlab软件编程简介

    MATLAB不仅支持数值计算、矩阵运算、符号运算以及图形处理等功能,还提供了一系列广泛应用于各个领域的工具箱(Toolbox),使得用户能够轻松地解决复杂的问题。 #### 二、MATLAB编程基础 1. **启动与界面** 启动...

    FTP_PSP

    10. **日志记录**:为了跟踪和诊断可能出现的问题,项目可能使用了日志框架,如Log4j或Java内置的`java.util.logging`,记录操作细节和错误信息。 以上是对FTP_PSP项目可能涉及的关键知识点的概述。通过深入研究...

    ant1.9资源

    在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本。解压到某个目录(例如E:"apache-ant-1.7.0),...

Global site tag (gtag.js) - Google Analytics