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/

转载请注明:博客园

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
3月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
209 3
|
4月前
|
存储 缓存
.NET 6中Startup.cs文件注入本地缓存策略与服务生命周期管理实践:AddTransient, AddScoped, AddSingleton。
记住,选择正确的服务生命周期并妥善管理它们是至关重要的,因为它们直接影响你的应用程序的性能和行为。就像一个成功的建筑工地,工具箱如果整理得当,工具选择和使用得当,工地的整体效率将会大大提高。
161 0
|
8月前
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
843 28
|
10月前
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
155 13
|
10月前
|
Linux C# Windows
.NET使用MiniWord高效生成Word文件
.NET使用MiniWord高效生成Word文件
238 12
|
11月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
341 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
11月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
248 1
【赵渝强老师】Oracle的控制文件与归档日志文件
|
10月前
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
274 3
|
11月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL的全量日志文件
MySQL全量日志记录所有操作的SQL语句,默认禁用。启用后,可通过`show variables like %general_log%检查状态,使用`set global general_log=ON`临时开启,执行查询并查看日志文件以追踪SQL执行详情。
172 4
|
11月前
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
548 1

热门文章

最新文章