Log4net日志文件自动按月份存放和日志独占问题的解决

让log4net日志文件自动按月份存放

log4net日志文件的作用还真不小,可以保存管理员、用户对数据库的任何操作,保存管理员和用户的登录记录,分析系统运行错误,所以不舍得随便将日志文件Delete。如果时间长了,日志文件夹一定会有很多很多日志文件,不便于管理员查看。

所以让log4net日志文件自动按月份存放是必须的,其实方法很Easy,额是突发奇想在DatePattern value中增加“yyyyMM\\”,运行后果然如额所愿。

也就是修改Web.Config文件如下:

<file value="Log\\"/><!--日志文件夹及文件名开头-->
<DatePattern value="yyyyMM\\yyyy-MM-dd&quot;.log&quot;"/><!--文件名后面加上.log后缀,必须使用转义字符-->

<appender name="LogsServiceFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="\Logs\"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="1"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyyMMdd".log""/>
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n记录时间:%d [%t] %n日志级别:%-5p %n日志内容:%c - %m%n"/>
</layout>
</appender>

解决log4net独占日志文件的问题

由于log4net默认情况下会独占日志文件该文件不能被File.Open,否则会出现异常错误,甚为郁闷。网上找到的解决方法:

修改Web.Config文件,在

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"></appender>

节中加入:

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

就可以了,即使用最小锁定模型(minimal locking model),以允许多个进程可以写入同一个文件

本文引用 http://guojun2sq.blog.163.com/blog/static/6433086120111925936159/

时间: 04-19

Log4net日志文件自动按月份存放和日志独占问题的解决的相关文章

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件 在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间 exec master..xp_fixedd

InnoDB存储引擎的表空间文件,重做日志文件

存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据.这些存储引擎真正存储了数据和索引等数据. 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存储的数据按表空间进行存放.默认配置下,会有一个初始化大小为10MB.名为ibdata1的文件.该文件就是默认的表空间文件(tablespace file).你可以通过参数innodb_data_file_path对其进行设置.格式如下: innodb_data_file_path=datafile_

oracle_重做日志文件--笔记

重做日志文件(redo log file) 目录       重做日志文件相关.       重做日志文件简介.       查询重做日志文件的信息.       日志切换.       管理日志文件组       增删日志文件组.       增删日志文件成员.       归档与非归档模式. 一.重做日志文件相关.        Oracle引入重做日志的目的:数据库的恢复.    Oracle相关进程:重做日志写进程(LGWR).    重做日志性质:联机日志文件,oracle服务器运行时

ORACLE清理、截断监听日志文件(listener.log)

在ORACLE数据库中,如果不对监听日志文件(listener.log)进行截断,那么监听日志文件(listener.log)会变得越来越大,想必不少人听说过关于"LISTENER.LOG日志大小不能超过2GB,超过会导致LISTENER监听器无法处理新的连接",当然这个不是真理,不会绝对出现,只是发生在老旧的32bit Linux或Unix系统下面,真实的原因是一些32bit OS自带的文件系统不支持2GB以上的文件,导致监听服务进程(tnslsnr)append write日志文件

Oracle重做日志文件

http://blog.csdn.net/leshami/article/details/5749556 一.Oracle中的几类日志文件 Redo log files      -->联机重做日志 Archive log files   -->归档日志 Alert log files     -->告警日志 Trace files         -->跟踪日志 user_dump_dest          -->用户跟踪日志 backupground_dump_dest

手动切换日志文件和清空日志文件

切换日志文件组 日志文件组是循环使用的,当一组日志文件被写满时,oracle系统自动的切换到下一组日志文件.在需要的时候,数据库管理员也可以手动的切换到其他的日志文件组.切换日志文件组需要使用如下的语句: alter system switch logfile; 清空日志文件组 如果日志文件组中的日志文件受损,将导致数据库无法将受损的日志文件进行归档,这会最终导致数据库停止运行.此时,在不关闭数据库的情况下,可以选择清空日志文件组中的内容. 清空日志文件组的语法如下: alter databas

检测日志文件的md5值如果N分钟后无变化则重启应用

计划任务添加如下: 每隔10分钟检测一次 */10 * * * * /bin/bash /data/scripts/check_md5sum.sh  /data/log/policy-root-new-4/policy-root-new-4.$(date +%Y-%m-%d).log    300   policy-root-new-4   policy-root-new-4  '/data/www/apps/policy-root-new-4/bin/boxrun'  restart chec

Nginx 日志文件切割

Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理.当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割. 在 Linux 平台上 Shell 脚本丰富,使用 Shell 脚本加 crontab 命令能非常方便地进行切割,但在 Windows 平台上就麻烦一些了,刚才弄了好长时间,就在这里记录整理一下.

【恢复】Redo日志文件丢失的恢复

第一章 Redo文件丢失的恢复 1.1  online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢失据的风险,强烈建议在条件允许的情况下,对Redo日志进行多路镜像.需要注意的是,RMAN不能备份联机Redo日志文件.所以,联机Redo日志一旦出现故障,则只能进行清除日志了.清除日志文件即表明可以重用该文件. 1.1.1  数据库归档/非归档模式下inactive redo异常ORA-00316