Log4net——Appenders 文件日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: (一)文件日志 (1)写日志到文件 把日志保存到D盘的myLog文件夹中的x.log文件中 这里,要保存的信息为:   格式:为年-月-日 时:分:秒 –信息(每条一行)                       测试如下: mylog.

(一)文件日志

1写日志到文件

把日志保存到D盘的myLog文件夹中的x.log文件中

这里,要保存的信息为:

 

格式:为年-- 时:分:秒 信息(每条一行)

 

<appender xmlns="" name="apenderforLog" type="log4net.Appender.FileAppender">

    <file value="D:myLogs\x.log"/>

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

测试如下:

mylog.Info("开始记录日志……");

mylog.Error("用户多次登录不成功!");

mylog.Info("日志追加结束.");

 

结果:

 

2009-12-10 15:33:04 - 开始记录日志……

2009-12-10 15:33:04 - 用户多次登录不成功!

2009-12-10 15:33:05 - 日志追加结束.

 

提示:这里说明一下,两个转换器的作用

·date 发生日志事件的本地时间。date后面还可以跟一个日期格式,用大括号括起来。

例如:%date{HH:mm:ss,fff}默认将使用ISO8601 格式。

·message由应用程序提供给日志事件的消息,简写格式为:m

2日志追加并发控制

 于多进程同时写入日志文件(这个没有测试过)

<appender xmlns="" name="apenderforLog" type="log4net.Appender.FileAppender">

    <file value="D:myLogs\x.log"/>

    <appendToFile value="true" />

    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

 

lockingModel有两个枚举。

(二)日志的文件名自动生成

这里的输出源要用到 RollingFileAppender

RollingFile输出源类型枚举有:

Once:一个文件(不确定)

Size:按文件容量格式生成

Date:按日期定义格式生成

Composite:混合文件容量与系统日期

1)日期规则

文件名:年--.log

格式:为年-- 时:分:秒 信息(每条一行)

 

配置文件如下:

<appender xmlns="" name="apenderforLog" type="log4net.Appender.RollingFileAppender">

    <file value="D:myLogs\" />

    <appendToFile value="true" />

    <rollingStyle value="Date" />

    <datePattern value="yyyy-MM-dd&quot;.log&quot;" />

    <staticLogFileName value="false" />

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

 

提示:

·&quot;起到的作用是转义,就是把.log当作字面义,而不是时间日期的格式定义。(双引号)

·默认文件写入方式为追加,这里显示声明了

·RollingStyle也不知道这个怎么翻译,但意思大家都明白

·日期变化格式为yyyy-MM-dd.log(文件名)

·关闭固定文件名即staticLogFileName value设置为false

2Size(容量规则)

<appender xmlns="" name="apenderforLog" type="log4net.Appender.RollingFileAppender">

    <file value="D:myLogs\log.txt" />

    <rollingStyle value="Size" />

    <maxSizeRollBackups value="2" />

    <maximumFileSize value="2KB" />

    <staticLogFileName value="true" />

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

·rolling类型为文件容量

·设置文件最大值:maximumFIleSize2K,如果超过这个大小如何处理?这个由Backups来处理

·maxSizeRollBackups 用于处理备份文件。表示备份文件的文件最大数目。如果设置为0,表示不备份日志文件,而且当日志文件容量满了之后,将会截断以前的日志信息;如果是自然数,那么当日志备份文件数目满了之后,会删除以前的日志文件备份;如果是负整数,那么将会无限制的增加日志备份文件。

<maxSizeRollBackups value="2" />

<maxSizeRollBackups value="0" />

<maxSizeRollBackups value="-1" />

 

3Composite混合型

<appender xmlns="" name="apenderforLog" type="log4net.Appender.RollingFileAppender">

    <file value="D:myLogs\x.log" />

    <rollingStyle value="Composite" />

    <datePattern value="yyyyMMdd" />

    <maxSizeRollBackups value="4" />

    <maximumFileSize value="2KB" />

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

 

 

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
16天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
137 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
236 3
|
12天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
119 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
12天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
12天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1638 14
|
1月前
|
监控 Linux 应用服务中间件
系统监控:使用日志文件 journalctl的使用
本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
48 2
系统监控:使用日志文件 journalctl的使用
|
1月前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0
|
1月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
205 0