log4net日志文件的应用

2019-12-14 09:00栏目:编程
TAG:

日志作为快速定位程序问题的主要手段,日志几乎是所有程序都必须拥有的一部分,下面我们就看下怎么使用log4net.dll文件:

 

1.下载log4net.dll文件

  最近做一个双11活动的,是一套相关的H5页面。本来以为难度不大,但是做下来几天还是遇到些问题。就总结一下吧,还是有收获的。

2.创建自己的项目

1.在H5页面中,有一个遮罩层,还是挺有意思的。直接用div+css控制遮罩层页面。

3.在自己项目下的引用log4net.dll文件

 

4.在app.config配置文件里添加配置信息,下面贴出配置信息,大家直接复制到app.config文件下就可以了

图片 1图片 2

贴的代码

<!DOCTYPE html >
<head>
<title>DIV CSS遮罩层</title>
<script language="javascript" type="text/javascript">
function showdiv() {            
            document.getElementById("bg").style.display ="block";
            document.getElementById("show").style.display ="block";
        }
function hidediv() {
            document.getElementById("bg").style.display ='none';
            document.getElementById("show").style.display ='none';
        }
</script>
<style type="text/css">
        #bg{ display: none;  position: absolute;  top: 0%;  left: 0%;  width: 100%;  height: 100%;  background-color: black;  z-index:1001;  -moz-opacity: 0.7;  opacity:.70;  filter: alpha(opacity=70);}
        #show{display: none;  position: absolute;  top: 25%;  left: 22%;  width: 53%;  height: 49%;  padding: 8px;  border: 8px solid #E8E9F7;  background-color: white;  z-index:1002;  overflow: auto;}
</style>
</head>
<body>
<input id="btnshow" type="button" value="Show" onclick="showdiv();"/>
<div id="bg"></div>
<div id="show">测试
<input id="btnclose" type="button" value="Close" onclick="hidediv();"/>
</div>
</body>
</html>

图片 3图片 4

View Code

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>
    <!-- 日志文件配置-->
    <root>
      <level value="ALL"/>
      <!--按文件存储日志-->
      <appender-ref ref="DebugAppender"/>
      <appender-ref ref="InfoAppender"/>
      <appender-ref ref="ErrorAppender" />
    </root>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\Error\" />
      <!--日志记录的存在路-->
      <param name="AppendToFile" value="true" />
      <!--为true就表示日志会附加到文件,为false,则会重新创建一个新文件-->
      <param name="MaxSizeRollBackups" value="30" />
      <!--创建最大文件数-->
      <!--<param name="MaxFileSize" value="10240" />-->
      <!--文件大小-->
      <param name="StaticLogFileName" value="false" />
      <!--是否指定文件名-->
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
      <!--文件格式-->
      <param name="RollingStyle" value="Date" />
      <!--创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite-->
      <layout type="log4net.Layout.PatternLayout">
        <!--输出内容布局-->
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        <!--method会影响性能-->
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ERROR" />
        <param name="LevelMax" value="ERROR" />
      </filter>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\Info\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="30" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="INFO" />
        <param name="LevelMax" value="INFO" />
      </filter>
    </appender>
    <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\Debug\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="30" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="DEBUG" />
      </filter>
    </appender>
  </log4net>

 

View Code

log4.Net在这三种不同的.net程序中添加使用,还是不一样的,不了解的话,死活就是出不来日志文件。

app.config所有代码

下面是三种不同程序配置log4.Net的方式,注意,Winform和MVC,ashx的方式不同,也不能混用。

图片 5图片 6

2.log4.net 在Winform、MVC、ashx程序里的使用 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="SunCreate.CombatPlatform.Client.NamePipe.PipeServerProcess.set" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
    </sectionGroup>
  </configSections>
  <log4net>
    <!-- 日志文件配置-->
    <root>
      <level value="ALL"/>
      <!--按文件存储日志-->
      <appender-ref ref="DebugAppender"/>
      <appender-ref ref="InfoAppender"/>
      <appender-ref ref="ErrorAppender" />
    </root>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\Error\" />
      <!--日志记录的存在路-->
      <param name="AppendToFile" value="true" />
      <!--为true就表示日志会附加到文件,为false,则会重新创建一个新文件-->
      <param name="MaxSizeRollBackups" value="30" />
      <!--创建最大文件数-->
      <!--<param name="MaxFileSize" value="10240" />-->
      <!--文件大小-->
      <param name="StaticLogFileName" value="false" />
      <!--是否指定文件名-->
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
      <!--文件格式-->
      <param name="RollingStyle" value="Date" />
      <!--创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite-->
      <layout type="log4net.Layout.PatternLayout">
        <!--输出内容布局-->
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        <!--method会影响性能-->
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ERROR" />
        <param name="LevelMax" value="ERROR" />
      </filter>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\Info\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="30" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="INFO" />
        <param name="LevelMax" value="INFO" />
      </filter>
    </appender>
    <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value=".\Logs\Debug\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="30" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="DEBUG" />
      </filter>
    </appender>
  </log4net>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

  ①在Winform中添加log.net的dll的引用。

View Code

  ②在App.config中进行log4.net的相关配置。

5.在AssemblyInfo.cs文件下添加一句配置信息:[assembly: log4net.Config.XmlConfigurator(Watch = true)],如下图

  ③在AssemblyInfo.cs中添加[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]

图片 7

图片 8图片 9

6.在需要打日志的文件里引用using log4net,然后添加Ilog变量就可以使用日志功能,如下图:

 app.config文件

 图片 10

图片 11图片 12

 

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

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, 
            log4net-net-1.0"/>
  </configSections>


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

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="my_log-file.txt"/>
      <param name="AppendToFile" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n"/>
      </layout>
    </appender>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

下面是打出的日志文件:

View Code

图片 13

 

 

3.log4.net 在Winform、MVC、ashx程序里的使用

 至此log4net.dll文件我想你已经都会用了,希望对你有帮助。

 ①在Mvc程序中添加log.net的dll的引用。

最后最后最后,重要的事情说三遍,来着是客,如果您觉得好就推荐或评论下,觉得不好希望能得到您的建议,继续改善.图片 14图片 15

    ②在Web.config中进行log4.net的相关配置。

 

    ③在Global.asax中添加  log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("Web.config")));

 

  图片 16图片 17

 

 4.log4.net 在Winform、MVC、ashx程序里的使用

   ashx这种类型的程序,可以看成mvc程序,他们都是web程序,能发布到IIS上,所以可以把ashx程序在按mvc程序来对待。

     ①在ashx程序中添加log.net的dll的引用。

     ②在Web.config中进行log4.net的相关配置。

版权声明:本文由bob体育app发布于编程,转载请注明出处:log4net日志文件的应用