Jor*_*rge 16 c# asp.net log4net asp.net-mvc-3
好的,所以我理解如何配置log4Net我的应用程序,但现在
首先,如果应用程序是发布或调试,我想通过区分日志级别来改进配置,我该怎么做?
第二,如果我的项目中有一个文件夹,我LOG怎么设置配置,不使用我的应用程序的物理文件夹?
例如,而不是:
<file value="C:\physicalpath\LOG\Log.log" />
Run Code Online (Sandbox Code Playgroud)
用过的
<file value="\LOG\Log.log" />
Run Code Online (Sandbox Code Playgroud)
要么
<file value="%some_variable%\LOG\Log.log" />
Run Code Online (Sandbox Code Playgroud)
bal*_*dre 22
该文件是直截了当的:
file:日志文件的完整路径或相对路径.
所以你需要拥有的是完整的路径C:\physicalpath\LOG\Log.log或相关的路径,这需要从像点字符 开始..\App_Data\Log4Net.Logs
您还可以使用文件夹名称中的file属性,那么你必须使用datePattern属性来指定文件名,例如:
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value=".\\App_Data\\Log4Net.Logs\\backend"/>
<datePattern value=".yyyy-MM-dd'.log'"/>
<appendToFile value="true"/>
<maximumFileSize value="256KB"/>
<maxSizeRollBackups value="2"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline"/>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
还记得添加
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
Run Code Online (Sandbox Code Playgroud)
因此,您可以避免log4net锁定文件,也不能使用它来附加消息.
如果您不习惯log4net,请不要忘记添加<root>节点,log4net这是让您知道要使用的<appender>节点而不是节点,例如,您可以拥有10个<appender>节点并且只使用一个<root>节点然后只配置您要使用的那个...
这是一个包含2个Mongo Appender和1个File Appender 的完整配置,<root>指定只使用文件追加器:
<log4net>
<appender name="MongoAppender" type="log4net.Appender.MongoDBAppender, log4mongo-net">
<!-- MongoDB 1 connection options -->
<host value="staff.mongohq.com"/>
<port value="10077"/>
<databaseName value="myApp_2011"/>
<collectionName value="logs_net"/>
<userName value="myself"/>
<password value="123456"/>
</appender>
<appender name="MongoAppenderAppHarbor" type="log4net.Appender.MongoDBAppender, log4mongo-net">
<!-- MongoDB 2 connection options -->
<host value="staff.mongohq.com"/>
<port value="10048"/>
<databaseName value="d1741d63-46b1-4a44-9c49-8c28cecae36b"/>
<collectionName value="logs_net"/>
<userName value="myself"/>
<password value="123456"/>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<!-- Local file options -->
<file value=".\\App_Data\\Log4Net.Logs\\backend"/>
<datePattern value=".yyyy-MM-dd'.log'"/>
<appendToFile value="true"/>
<maximumFileSize value="256KB"/>
<maxSizeRollBackups value="2"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline"/>
</layout>
</appender>
<root>
<!--
<level value="DEBUG" />
<appender-ref ref="MongoAppender" />
<appender-ref ref="MongoAppenderAppHarbor" />
-->
<appender-ref ref="FileAppender"/>
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)