com+组件日志记录(log4net)
生活随笔
收集整理的這篇文章主要介紹了
com+组件日志记录(log4net)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
網上找了一個操作powershell的com+組件源碼,配置好后,發現啟用郵箱不穩定。因此在代碼中用log4net加入異常日志記錄。如下:
private static readonly ILog log = LogManager.GetLogger("ErrorLog");public bool IsExistMailBox(string identity){try{PSSnapInException PSException = null;RunspaceConfiguration runspaceConf = RunspaceConfiguration.Create();runspaceConf.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out PSException);Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConf);runspace.Open();Pipeline pipeline = runspace.CreatePipeline();string errors = string.Empty;using (pipeline){Command command = new Command("Get-Mailbox");command.Parameters.Add("identity", identity);//command.Parameters.Add("DomainController", "XX"); pipeline.Commands.Add(command);Collection<PSObject> result = pipeline.Invoke();if ((pipeline.Error != null) && (pipeline.Error.Count > 0)){foreach (object obj2 in pipeline.Error.ReadToEnd()){errors = errors + obj2.ToString() + "|";}//記錄log信息log.Info(identity + "PipeLine[Get-Mailbox]錯誤信息:" + errors);throw new Exception(errors);//記錄log信息 } }pipeline = null;runspace.Close();runspace = null;//return (result != null && result.Count > 0);return string.IsNullOrEmpty(errors);}catch (System.Exception ex){log.Info(identity + "賬戶Get-Mailbox調用異常:" + ex.Message);throw ex;}}log4Net配置節:
<?xml version="1.0" encoding="utf-8" ?> <configuration><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections><log4net><appender name="ErrorLog" type="log4net.Appender.RollingFileAppender,log4net" ><param name="File" value="D:\\Logs\\Error\\" /><param name="AppendToFile" value="true" /><param name="RollingStyle" value="Date" /><param name="DatePattern" value="yyyy-MM\\"ServiceError-"yyyy-MM-dd".txt"" /><param name="StaticLogFileName" value="false" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} %m%n" /></layout></appender><root><level value="ALL" /></root><!-- 服務錯誤日志--><logger name="ErrorLog"><level value="INFO" /><appender-ref ref="ErrorLog" /></logger></log4net> </configuration>AssemblyInfo.cs頂部加入如下代碼:
[assembly: log4net.Config.Repository("PowerShellExInfo")] [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]?
以上都做好后,創建com組件。將log4Net配置文件放到引用組件同目錄下。本來以為這樣就可以了,可是操作過程中發現并沒有記錄異常日志信息,網上找了三天,皇天不負有心人啊,終于在國外論壇找到解決方法。log4net配置文件應放到在system32目錄下,這樣日志就能記錄了。OK
?
轉載于:https://www.cnblogs.com/liu_da_shi/archive/2013/06/13/3133746.html
總結
以上是生活随笔為你收集整理的com+组件日志记录(log4net)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ecshop后台实现用ajax动态修改/
- 下一篇: 修改android4.0的鼠标箭头图标(