Tag: 记录

温莎城堡在哪里以及如何建立伐木设施

我对Castle Windsor很新,我正在研究伐木设施的进出口。 它似乎相当令人印象深刻,但我唯一无法解决的是Windsor在我的类上设置Logger属性。 如下所示,如果尚未设置类,则将Logger设置为nullLogger,但是当Resolve完成运行时,将设置Logger属性。 private ILogger logger; public ILogger Logger { get { if (logger == null) logger = NullLogger.Instance; return logger; } set { logger = value; } } 所以我想知道windsor如何以及在哪里设置我的Logger属性。 干杯安东尼

我应该只捕获exception才能记录它们吗?

我是否应该捕获日志记录的exception? public foo(..) { 尝试 { … } catch(Exception ex){ Logger.Error(前); 扔; } } 如果我在每个层(DataAccess,Business和WebService)中都有这个,这意味着多次记录exception。 如果我的图层在单独的项目中并且只有公共接口中有try / catch,那么这样做是否有意义? 为什么? 为什么不? 我可以使用不同的方法吗?

任何人都知道为什么我无法在C#中以编程方式访问winevt文件夹?

我一直在尝试使用C#以编程方式进入’C:\ Windows \ System32 \ winevt \ Logs’文件夹,因此我可以将事件日志文件复制到备份目录,然后将事件日志清除为每日备份的一部分设备,但我似乎无法访问此目录。 我已经尝试将应用程序清单更改为在administrator()下运行,这给了我执行程序时的UAC提示,我甚至在NT AUHORITY \ SYSTEM身份下生成一个shell来执行代码但是它仍然说这是一条无效的路径,即使我可以手动进入管理shell和SYSTEM shell下的目录。 我把它隔离到了不能进入winevt目录。 我使用此代码来查看是否可以访问该目录。 Environment.CurrentDirectory = System.Environment.SystemDirectory + @“\ winevt \”; 只收到 System.IO.DirectoryNotFoundException:找不到路径’C:\ Windows \ system32 \ winevt \’的一部分。 at System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)at System.IO.Directory.SetCurrentDirectory(String path)at System.Environment.set_CurrentDirectory(String value)at dev_EventLog.Program.Main(String [] args)in D:\ SourceCodes \ dev_EventLog \ dev_EventLog \ Program.cs:第30行 我已经尝试了许多不同的方法来指定目录,但它们都是一样的,我也尝试过不同的System32子文件夹,而且我尝试过winevt是唯一一个这样做的人。 这让我很疯狂,任何人都知道为什么这不能在C#下运行,或者我被迫使用VBScript来执行此操作,因为以下VBScript代码可以复制事件日志文件。 dim filesys […]

在C#中读取事件日志

我正在尝试为我的应用程序EventLoggingApp读取事件日志。 问题是为我的单一来源(EventLoggingApp)读取日志。 此代码读取每个源的日志。 问题是什么? 任何建议? static void ReadEvenLog() { string eventLogName = “Application”; string sourceName = “EventLoggingApp”; string machineName = “Tom”; EventLog eventLog = new EventLog(); eventLog.Log = eventLogName; eventLog.Source = sourceName; eventLog.MachineName = machineName; foreach (EventLogEntry log in eventLog.Entries) { Console.WriteLine(“{0}\n”,log.Source); } }