首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置jsnlog.log4net日志文件路径

配置jsnlog.log4net日志文件路径
EN

Stack Overflow用户
提问于 2016-03-18 04:50:20
回答 3查看 1.2K关注 0票数 1

我的MVC应用程序使用log4net进行服务器日志记录,我刚刚为javascript日志添加了jsnlog.log4net。我按照官方指南来配置它,它运行得很好。而且我没有对log4net.config文件做任何更改。

现在,log4net和jsnlog都使用相同的txt文件来记录它们的日志。我需要将日志分离到两个不同的文件。这样我就可以很容易地识别服务器日志和javascript日志。

这是我的log4net.config文件。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<log4netConfiguration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <appSettings>
    <add key="log4net.Config" value="log4net.config" />
  </appSettings>
  <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="C:\buttonwood_logs\buttonwood_web_log\buttonwood_log_%date{ddMMyyyy}.log" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="5MB" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n"/> 
      </layout>
    </appender>
    <root>
      <level value="INFO" />
      <appender-ref ref="RollingFileAppender" />
    </root>
  </log4net>
</log4netConfiguration>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-18 12:32:03

要登录到两个文件,需要有两个附加程序,每个文件都有一个记录器。

在您的配置中定义了一个根元素之后,最简单的方法是为您的JavaScript代码设置一个特定的记录器,并让其他所有内容都转到现有的附录中:

代码语言:javascript
复制
<!-- additivity=false means "don't inherit appenders from the root logger" -->
<logger name="JSLogger" additivity="false"> 
  <level value="INFO" />
  <appender-ref ref="JSFileAppender" />
</logger>

然后设置附录:

代码语言:javascript
复制
<appender name="JSFileAppender" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" 
             value="C:\buttonwood_logs\jslog\buttonwood_log_%date{ddMMyyyy}.log" />
        … etc.

在jsnlog中创建记录器时,必须按名称引用它,例如GetLogger("JSLogger")

票数 1
EN

Stack Overflow用户

发布于 2017-03-09 12:31:16

在你的网络配置中。

代码语言:javascript
复制
<jsnlog  serverSideLogger="ClientLog">

在你的log4net标签中

代码语言:javascript
复制
<log4net>
<appender name="JSFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="..\Log\Client.log" />
  <appendToFile value="true" />
  <maximumFileSize value="100MB" />
  <maxSizeRollBackups value="5" />
  <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d %level %thread - %message%newline" />
  </layout>
</appender> 


<logger name="ClientLog" additivity="false"> 
    <level value="DEBUG" />
    <appender-ref ref="JSFileAppender" />
</logger>
</log4net>

记录器名称必须具有与jsnlog serverSideLogger配置相同的值。

票数 0
EN

Stack Overflow用户

发布于 2016-03-18 06:33:50

尝试如下所示:(有关更多信息,请参见代码项目文章- 使用来自一个应用程序的多个log4net输出)

代码语言:javascript
复制
<log4net>
    <appender type="log4net.Appender.RollingFileAppender" name="classApp1">
      <file value="c:\\Library1.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionpattern value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>

    <appender type="log4net.Appender.RollingFileAppender" name="classApp2">
      <file value="c:\\Library2.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionpattern value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>

    <appender type="log4net.Appender.RollingFileAppender" name="application">
      <file value="c:\\Application.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionpattern value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>

    <logger name="ClassLibrary1">
      <level value="ERROR" />
      <maximumfilesize value="256KB" />
      <param value="ERROR" name="Threshold" />

      <appender-ref ref="classApp1" />
    </logger>

    <logger name="ClassLibrary2">
      <level value="WARN" />
      <maximumfilesize value="256KB" />
      <param value="WARN" name="Threshold" />

      <appender-ref ref="classApp2" />
    </logger>

    <logger name="WindowsApplication1">
      <level value="WARN" />
      <maximumfilesize value="256KB" />
      <param value="WARN" name="Threshold" />

      <appender-ref ref="application" />
    </logger>

  </log4net>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36076375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档