Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在企业库日志记录中获取当前日志文件内容_C#_Logging_Enterprise Library_Logging Application Block - Fatal编程技术网

C# 在企业库日志记录中获取当前日志文件内容

C# 在企业库日志记录中获取当前日志文件内容,c#,logging,enterprise-library,logging-application-block,C#,Logging,Enterprise Library,Logging Application Block,我已设置企业库日志记录应用程序块,以登录位于我的应用程序执行路径中名为“app.log”的文件。这个应用程序是一个Windows服务,它在上面运行一个配置网站,现在我想在这里显示日志文件的内容 获取日志文件是一项相当简单的任务: var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var logSection = config.GetSection("loggingConfigu

我已设置企业库日志记录应用程序块,以登录位于我的应用程序执行路径中名为“app.log”的文件。这个应用程序是一个Windows服务,它在上面运行一个配置网站,现在我想在这里显示日志文件的内容

获取日志文件是一项相当简单的任务:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var logSection = config.GetSection("loggingConfiguration") as LoggingSettings;

var lookup = logSection.TraceListeners
                .Where(x => x is RollingFlatFileTraceListenerData).FirstOrDefault() as RollingFlatFileTraceListenerData;
if(lookup != null) {
    var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, lookup.FileName);
    return File.ReadAllText(_logFilePath);
}
但是,我设置的RollingFlatFileTraceListener不断阻止我要读取的文件。是否有可能访问它?

检查。这不是File.ReadAllText的默认行为,我无法理解

using (var logFileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var logFileReader = new StreamReader(logFileStream))
{
    return logFileReader.ReadToEnd();
}
还请注意,您正在混合使用filePath和_logFilePath。

在4.1版本中工作,不适用于5.0,不将LoggingSettings log=config.GetSectionloggingConfiguration编译为LoggingSettings;