首页 新闻 会员 周边 捐助

winfrom 问题

0
[已关闭问题] 关闭于 2017-05-27 16:06

winfrom里面log4g怎么配置?我百度下 网上人说在AssemblyInfo.cs还要配,但是我找不到这个全局程序集啊,请教大家 这个在哪

.NET_海的主页 .NET_海 | 菜鸟二级 | 园豆:480
提问于:2017-05-26 18:36
< >
分享
所有回答(1)
0

可以在AssemblyInfo中配置,但是不建议配置在这个地方。

直接在写日志的类中配置文件位置就行了。

  public static class LogHelper
    {
        static LogHelper()
        {
            var configFile = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config"));
            if (!configFile.Exists)
            {
                throw new Exception("未配置log4net配置文件!");
            }

            // 设置日志配置文件路径
            XmlConfigurator.Configure(configFile);
        }

        private static ILog getLogger()
        {
            return LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        }

        public static void Debug(string message)
        {
            getLogger().Debug(message);
        }

        public static void Debug(string message, Exception exception)
        {
            getLogger().Debug(message, exception);
        }

        public static void Info(string message)
        {
            getLogger().Info(message);
        }

        public static void Info(string message, Exception exception)
        {
            getLogger().Info(message, exception);
        }

        public static void Error(string message)
        {
            getLogger().Error(message);
        }

        public static void Error(string message, Exception exception)
        {
            getLogger().Error(message, exception);
        }

        public static void Warn(string message)
        {
            getLogger().Warn(message);
        }

        public static void Warn(string message, Exception exception)
        {
            getLogger().Warn(message, exception);
        }

        public static void Fatal(string message)
        {
            getLogger().Fatal(message);
        }

        public static void Fatal(string message, Exception exception)
        {
            getLogger().Fatal(message, exception);
        }


    }
Emrys5 | 园豆:223 (菜鸟二级) | 2017-05-26 18:42

你好  你发的这个方法怎么用的?用不用在config里面再配那些东西?

支持(0) 反对(0) .NET_海 | 园豆:480 (菜鸟二级) | 2017-05-26 18:51

@.NET_海: 直接配置个log4net.config在根目录就行了。

这个是一种日志的配置,你也可以选择其他的方式。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a" />
  </configSections>

  <log4net>

    <appender name="LogToFile" type="log4net.Appender.RollingFileAppender">
      <encoding value="utf-8" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <file value="Logs\" />
      <datePattern value="yyyy.MM.dd'.log'" />
      <staticLogFileName value="false" />
      <appendToFile value="true" />
      <rollingStyle value="Composite" />
      <maxSizeRollBackups value="1000" /> <!-- 切割最多文件数 -->
      <maximumFileSize value="10MB" /> <!-- 每个文件的大小 -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%level][%date] %message%newline %newline" />
      </layout>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref  ref="LogToFile" />
    </root>

  </log4net>

</configuration>
支持(0) 反对(0) Emrys5 | 园豆:223 (菜鸟二级) | 2017-05-26 18:53

@Emrys5: 不行啊 写不了

支持(0) 反对(0) .NET_海 | 园豆:480 (菜鸟二级) | 2017-05-26 19:14

@.NET_海: 你把这个配置文件保存成log4net.config,然后放到网站的根目录。

然后用LogHelper.Debug不行吗??

支持(0) 反对(0) Emrys5 | 园豆:223 (菜鸟二级) | 2017-05-26 21:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册