日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

com+组件日志记录(log4net)

發(fā)布時間:2025/4/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 com+组件日志记录(log4net) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

網(wǎng)上找了一個操作powershell的com+組件源碼,配置好后,發(fā)現(xiàn)啟用郵箱不穩(wěn)定。因此在代碼中用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調(diào)用異常:" + ex.Message);throw ex;}}

log4Net配置節(jié):

<?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\\&quot;ServiceError-&quot;yyyy-MM-dd&quot;.txt&quot;" /><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><!-- 服務(wù)錯誤日志--><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)]

?

以上都做好后,創(chuàng)建com組件。將log4Net配置文件放到引用組件同目錄下。本來以為這樣就可以了,可是操作過程中發(fā)現(xiàn)并沒有記錄異常日志信息,網(wǎng)上找了三天,皇天不負有心人啊,終于在國外論壇找到解決方法。log4net配置文件應(yīng)放到在system32目錄下,這樣日志就能記錄了。OK

?

轉(zhuǎn)載于:https://www.cnblogs.com/liu_da_shi/archive/2013/06/13/3133746.html

總結(jié)

以上是生活随笔為你收集整理的com+组件日志记录(log4net)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。