zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    Map1: iOS开发中定位和地图介绍
    GCD11: 创建计时器
    GCD10: 用GCD构建自己的分派队列
    GCD9: 用GCD将任务分组
    GCD8: 在GCD上让一个任务最多执行一次
    GCD7: 利用GCD延时后执行任务
    GCD6: 在GCD上异步执行非UI相关任务
    GCD5: 用GCD同步执行非UI相关的任务
    回文数
    字符串置换
  • 原文地址:https://www.cnblogs.com/lxny/p/6741779.html
Copyright © 2011-2022 走看看