将信息记录到不同的日志文件中
我的 web.config 文件中有以下配置,但是如何在 C# 中将这些信息分别记录到 data.txt
和 general.txt
中?
有人可以为我提供一些示例代码吗?
<appender name="GeneralLog" type="log4net.Appender.RollingFileAppender">
<file value="App_Data/Logs/general.txt" />
<appendToFile value="true" />
<maximumFileSize value="2MB" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="DataLog" type="log4net.Appender.RollingFileAppender">
<file value="App_Data/Logs/data.txt" />
<appendToFile value="true" />
<maximumFileSize value="2MB" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
I have the following configurations in my web.config file, but how can I log the information into data.txt
and general.txt
separately in C#?
Could anyone provide some sample code for me?
<appender name="GeneralLog" type="log4net.Appender.RollingFileAppender">
<file value="App_Data/Logs/general.txt" />
<appendToFile value="true" />
<maximumFileSize value="2MB" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="DataLog" type="log4net.Appender.RollingFileAppender">
<file value="App_Data/Logs/data.txt" />
<appendToFile value="true" />
<maximumFileSize value="2MB" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" />
</layout>
</appender>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
理想情况下,在您的应用程序中,您应该以相同的方式记录常规数据和数据,只是使用不同的记录器。在配置中,您有几个选项可以选择如何将传入的日志消息“路由”到不同的附加程序。
首先是伐木者本身。根据您的应用程序在类和命名空间方面的组织方式,您可以根据命名空间层次结构以分层方式组织记录器。然后,您可以在层次结构中将不同的分支分配给不同的附加程序。请阅读此处的级别继承部分。
除了记录器层次结构之外,您还可以使用任何名称作为记录器名称。因此,对于应用程序的常规部分,您可以使用名为“general”的记录器。
接下来,您可以用来控制日志消息流的是使用过滤器。您可以根据记录器名称、级别、属性等过滤消息,也可以实现自己的过滤器。
下面的示例展示了如何使用记录器元素和过滤器将常规数据和数据路由到附加程序。我们将根元素(接收所有日志消息)路由到数据附加器。在数据附加器中,我们过滤掉来自通用记录器的所有消息。
此外,我们将通用记录器路由到通用附加程序。
In your app, ideally, you should log the same way for both general and data, just using different loggers. In configuration you have a few options how to "route" the incoming log messages to different appenders.
The first is the loggers themselves. Depending on how your app is organized in terms of classes and namespaces, you organize your loggers in a hierarchical manner according to your namespace hierarchy. Then you can have different branches in the hierarchy going to different appenders. Read up on the Level Inheritance section here.
In addition to logger hierarchies, you can use any name as logger names. So for your general sections of your app, you could use a logger named "general".
Next thing you can use to control log message flow is using filters. You can filter messages on logger name, level, properties etc. or you can implement your own filters.
Here's a sample to show how you could route general and data to your appenders using the logger element and a filter. We route the root element (which receives all log messages) to the data appender. At the data appender we filter out all messages coming from the general logger.
Additionally, we route the general logger to the general appender.