zoukankan      html  css  js  c++  java
  • Log4net 配置输出文本, 按年月日分文件夹 z

    在项目中新建 “log4net.config” 文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        </configSections>
        <log4net>
            <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
                <File value="Log" />
                <!--是否是向文件中追加日志-->
                <AppendToFile value="true" />
                <!--每个文件的大小-->
                <MaximumFileSize value="1MB"/>
                <!--log文件数-->
                <MaxSizeRollBackups value="10" />
                <!--日志文件名是否是固定不变的-->
                <StaticLogFileName value="false" />
                <!--日志文件名格式为:yyyy-MM-dd.log-->
                <DatePattern value="yyyy\MM\dd\yyyy-MM-dd'.log'" />
                <!--日志根据日期滚动-->
                <RollingStyle value="Date" />
                <layout type="log4net.Layout.PatternLayout">
                    <ConversionPattern value="%date %logger [%thread] %level %message%newline" />
                </layout>
            </appender>
     
            <root>
                <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
                <level value="all" />
                <appender-ref ref="RollingLogFileAppender" />
            </root>
        </log4net>
    </configuration>

    配置好后在程序集 AssemblyInfo.cs 中加入

    [assembly: log4net.Config.XmlConfigurator( ConfigFile = "log4net.config", Watch = true )]
     
    或者用代码初始化
    private void InitLog4net()
    {
        var logCfg = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config");
        XmlConfigurator.ConfigureAndWatch(logCfg);
        //修改日志路径
        var repository = LogManager.GetRepository();
        var appenders = repository.GetAppenders();
        var targetApder = appenders.First() as RollingFileAppender;
        targetApder.File = string.IsNullOrWhiteSpace(Settings.Default.LogPath) ? Path.Combine( Environment.CurrentDirectory,"log.txt") : Settings.Default.LogPath;
        targetApder.ActivateOptions();
     
        this.log = LogManager.GetLogger("mainlog");
    }
     
  • 相关阅读:
    存储过程加密
    sql 指删除表,改表名,改字段名
    windows 2003 server 64 位 IIS 6下部署 32位网站
    linux查看内存的使用占比
    linux查看端口是否被占用
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock' (2)
    mysql数据库的备份(mysqldump)和恢复(source)
    linux解压压缩文件zip/tar/tar.gz命令汇总
    oracle数据库的备份和导入数据
    oracle 备份表数据
  • 原文地址:https://www.cnblogs.com/zeroone/p/7658483.html
Copyright © 2011-2022 走看看