我在C#Win Form App中使用log4net,并且具有“开始/停止”切换按钮-
当我单击“开始”时,将加载log4net配置并创建日志文件-工作正常。
但是现在我想添加单击“停止”按钮的选项,以停止记录器,当然还要释放文件,以便可以使用应用程序中的openFileDialog
打开该文件以读取日志文件带有StreamReader
的文本,以在多行textbox
上显示日志文件。
答案 0 :(得分:1)
您可以在运行时修改Threshold
。要停止记录,请将其设置为Off
。我已经在此answer中展示了它的工作原理。
答案 1 :(得分:0)
在运行时期间停止log4net要求修改其配置文件:
<level value="ALL" />
到
<level value="INFO" />
如果您无法更改配置文件,则应为log.debug()
定义一个代理:
static public class LogDebugProxy
{
static public bool LogDebug = false;
static public void debug(log4net.ILog log)
{
if (LogDebug)
log.debug();
}
}
然后在整个项目中将log.debug()
替换为LogDebugProxy.debug(log)
。
现在,您可以通过代理启用/禁用它。
答案 2 :(得分:0)
这对我来说可以读取log4net
日志文件:
string text;
var fileStream = new FileStream(@"C:\logs\yourLogFile.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
{
text = streamReader.ReadToEnd();
MessageBox.Show(this, text);
}