• log4net 运行时改变日志级别


    ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Level = Level.Debug;
    ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).RaiseConfigurationChanged(EventArgs.Empty);

     其它-未测试

    public static void ModifyAppenders<T>(this ILoggerRepository repository, Action<T> modify) where T:log4net.Appender.AppenderSkeleton
    {
        var appenders = from appender in log4net.LogManager.GetRepository().GetAppenders()
                            where appender is T
                            select appender as T;
     
        foreach (var appender in appenders)
        {
            modify(appender);
            appender.ActivateOptions();
        }
    }
    
    log4net.LogManager.GetRepository().ModifyAppenders<FileAppender>(a =>
                    {
                        a.File = Path.Combine(settings.ConfigDirectory,
                                              Path.GetFileName(a.File));
                    });
     private void TurnOnLogging()
            {
                
                log4net.Repository.ILoggerRepository[] repositories= log4net.LogManager.GetAllRepositories();
    
                //Configure all loggers to be at the debug level.
                foreach (log4net.Repository.ILoggerRepository repository in repositories)
                {
                    repository.Threshold = repository.LevelMap["DEBUG"];
                    log4net.Repository.Hierarchy.Hierarchy hier = (log4net.Repository.Hierarchy.Hierarchy)repository;
                    log4net.Core.ILogger[] loggers=hier.GetCurrentLoggers();
                    foreach (log4net.Core.ILogger logger in loggers)
                    {
                        ((log4net.Repository.Hierarchy.Logger) logger).Level = hier.LevelMap["DEBUG"];
                    }
                }
    
                //Configure the root logger.
                log4net.Repository.Hierarchy.Hierarchy h = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
                log4net.Repository.Hierarchy.Logger rootLogger = h.Root;
                rootLogger.Level = h.LevelMap["DEBUG"];
    
            }
  • 相关阅读:
    php iconv函数转换出错问题
    linux 上配置swoole
    Linux中查看某 个软件的安装路径
    mysql 5.0存储过程学习总结
    maven--私服的搭建(Nexus的使用)
    Linux的chattr与lsattr命令详解
    [转]Delphi 中 image 控件加载bmp、JPG、GIF、PNG等图片的办法
    [转]Delphi 中动态链接库(dll)的建立和使用
    Delphi PChar与String互转
    [转]Delphi 快捷键 让你更像高手!!
  • 原文地址:https://www.cnblogs.com/lummon/p/4686217.html
Copyright © 2020-2023  润新知