相关疑难解决方法(0)

您可以在代码中配置log4net而不是使用配置文件吗?

我理解为什么log4net使用app.config文件来设置日志记录 - 这样您就可以轻松更改信息的记录方式,而无需重新编译代码.但在我的情况下,我不想app.config用我的可执行文件打包文件.我不想修改我的日志记录设置.

有没有办法让我设置登录代码而不是使用app.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="Logs\EventLog.txt" />
      <appendToFile value="false" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="1GB" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
    </appender>
    <root>
      <level value="Info" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="MemoryAppender" />
    </root>
  </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

编辑:

要完全清楚:我的目标是没有XML文件.甚至不是我变成流的嵌入式资源.我的目标是完全以编程方式定义记录器.只是好奇是否有可能,如果是这样,我可能会找到一个语法示例.

.net c# logging log4net

129
推荐指数
4
解决办法
8万
查看次数

在没有web.config的情况下使用log4net

我使用log4net来记录错误.

目前我下载了该文件log4net.dll,然后在global.asax文件中进行了以下更改:

private static ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

protected void Application_Start(object sender, EventArgs e)
{
    log4net.Config.XmlConfigurator.Configure();
}
protected void Application_Error(object sender, EventArgs e)
{
    Log.Fatal("An uncaught exception occurred", this.Server.GetLastError());
}
Run Code Online (Sandbox Code Playgroud)

这些更改也是在web.config文件中进行的

<log4net>

<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
  <param name="File" value="c:\Log4NetExample.log"/>
  <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
  </layout>
</appender>

<root>

  <level value="All"/>

  <appender-ref ref="LogFileAppender"/>
</root>
Run Code Online (Sandbox Code Playgroud)

一切正常..但我需要的是从代码移动代码web.config并从文本文件中读取它.

另外我需要2级调试和错误..

谁能帮我这个?

谢谢

c# asp.net logging log4net

9
推荐指数
1
解决办法
7624
查看次数

标签 统计

c# ×2

log4net ×2

logging ×2

.net ×1

asp.net ×1