`
hibernate159
  • 浏览: 7730 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

日志写入到文件、多文件写入

阅读更多

在上篇文章的基础上,修改配置:

log4j.rootLogger=info,fout

log4j.appender.fout=org.apache.log4j.FileAppender
log4j.appender.fout.File=c:/a.log
log4j.appender.fout.layout=org.apache.log4j.PatternLayout
log4j.appender.fout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

说明:rootLogger是可以多样式定义的,如log4j.rootLogger=info, myOut, fout。myOut, fout是自定义样式。这样就会在c盘下创建a.log文件。

有这样一种需求,不同模块需要各自创建日志,层与层之间单独写入日志,这样的话需要自定义日志类,在属性文件中写法如下:

log4j.logger.myTest1 = DEBUG,A1

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=c:/a/a.log

log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

log4j.logger.additivity.myTest1 = false

 

log4j.logger.myTest2 = INFO,A2

log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=c:/b/b.log

log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n

 

 

Logger log2 = Logger.getLogger("myTest2");

log1.debug("1_debug");//不会在控制台输出,只会生成到文件中,因为有log4j.logger.additivity.myTest1 = false

log2.info("2_info");//控制台和文件都会写入日志

Logger log1 = Logger.getLogger("myTest1");
分享到:
评论

相关推荐

    C#实现将日志写入文本文件的方法

    这个简单的日志写入方法可以作为基础,根据实际需求进行扩展,例如添加错误处理、支持多线程写入、自定义日志级别、文件大小限制等特性。通过理解和掌握这些基本概念,你可以构建出更复杂且适应性强的日志记录系统。

    C++写入日志文件

    总的来说,C++中实现日志写入文件需要处理文件操作、日志级别的管理以及可能的多线程安全问题。通过自定义或者选择合适的第三方库,我们可以构建高效且功能丰富的日志系统,为软件开发和维护提供便利。

    将日志信息写入文件

    将日志写入.txt文件,直接调用方法就行。

    java日志写入不同文件路径

    java日志写入类,根据网上代码修改,可自定义日志写入文件夹

    c++实现log文件写入

    对于多线程环境,可能需要加锁机制确保日志写入的同步。 总的来说,C++实现日志文件写入涉及到文件操作、时间处理、字符串格式化等基础知识。通过这个项目,你可以深入了解这些概念,并提升你的C++编程技能。在使用...

    用LogWriter将Android应用程序的日志信息写入文件

    接下来,需要实现`Log.d()`、`Log.i()`、`Log.w()`等日志级别方法,将它们重定向到`LogWriter`,这样就可以在调用这些系统日志方法时自动写入文件。例如: ```java public class LogWriter extends Writer { // .....

    Log4net日志写入

    2. **日志写入文本文件**:使用FileAppender,你可以将日志记录到TXT文件中。配置文件(如`log4net.config`)可以设定文件路径、是否追加模式、日志文件的最大大小等。当文件达到指定大小时,Log4net会自动创建新...

    Delphi应用程序日志写入系统日志

    5. **处理多线程和并发**:在多线程环境中,确保日志写入操作的线程安全是非常重要的。这可能需要使用同步原语,如`CriticalSection`或`Mutex`,以防止并发写入冲突。 6. **错误处理**:当写入系统日志失败时,应有...

    android系统APP日志写入本地保存

    android系统APP日志写入本地保存

    C# 利用log4net 把日志写入到数据库

    通过log4net,C#开发者可以轻松地将日志信息写入到数据库,便于后期的数据分析和问题排查。合理配置和使用log4net,不仅能提高开发效率,还能确保系统的稳定性和可靠性。在实际项目中,可以根据具体需求调整log4net...

    长ping 加时间戳将日志写入TXT文件

    按需要修改地址 cscript D:\ping.vbs www.baidu.com -t -l 1024 >> D:\baidu.txt

    c++记录日志到文件里面

    只有当日志级别高于或等于这个设置时,日志才会被写入文件。 7. **多线程支持**:如果程序是多线程的,需要考虑线程安全问题。可以使用互斥锁(`std::mutex`)来确保同一时间只有一个线程能写入日志文件。 8. **...

    c++写日志文件类

    - `log(level, message)`:这是核心功能,接受日志级别和消息字符串,根据级别决定是否写入,并将消息追加到日志文件。 - `setLogLevel(level)`:设置当前日志级别,控制不同级别的日志信息是否被记录。 接下来,...

    linux系统中c++写日志文件功能分享

    这样,所有日志消息都会被写入到指定路径下以给定前缀命名的文件中。 接下来,我们看到一个名为`FileHelper`的辅助类,这个类提供了文件操作的相关功能,如保存和打开文件。`save`方法用于将字符串内容写入二进制...

    MFC日志写入与读取

    3. **多线程安全**:在多线程环境中,确保日志写入是线程安全的,防止数据冲突。 4. **日志格式**:统一日志格式,包括时间戳、线程ID、日志级别、消息内容等,便于分析。 5. **异步写入**:使用异步方式写入日志,...

    c++ 打印log 日志到文件

    3. **线程安全**:在多线程环境下,确保日志写入的安全性至关重要。可以使用互斥锁(`std::mutex`)来防止竞争条件。 4. **文件大小限制与日志滚动**:为避免单个日志文件过大,可以设定每个日志文件的最大大小。当...

    linux下读写日志文件

    从执行体程序库中的CLLogger类可知,通过缓存要写入文件中的数据,能够提高读写磁盘的性能。编写一个文件操作的封装类,调用该类的写操作接口时,数据要首先写到缓存,然后再根据策略写到文件中。调用该类的读操作...

    LOG4CPP多个日志文件

    在“LOG4CPP 多个日志文件”的场景下,我们主要关注如何配置LOG4CPP以将日志输出到不同的文件,如DEBUG、NOTICE、WARNING、ERROR和CRITICAL级别分别对应不同的文件。 首先,理解LOG4CPP的基本架构至关重要。LOG4CPP...

    C#写系统日志和写日志文件

    // 使用StreamWriter实例写入文件,true表示追加模式,避免覆盖已有内容 using (StreamWriter sw = new StreamWriter("TestFile.txt", true)) { // 写入文本内容 sw.Write("This is the "); sw.WriteLine(...

    如何借助log4j把日志写入数据库中

    在Java开发中,日志记录是一项非常重要的任务,它帮助...在实际项目中,可以根据需求调整日志级别、输出格式,甚至可以添加多个Appender,实现日志的多目的地输出,如同时写入文件和数据库,以满足不同场景的需求。

Global site tag (gtag.js) - Google Analytics