我正在尝试在部署在本地域上的C#应用程序中使用NLog。
每个用户都有一个交换邮箱,到目前为止,我一直在使用带有基本日志记录类的Office.Interop来从内置的交换帐户发送结果。
有没有办法和NLog做类似的事情,我在他们的文档中看不到任何可以让我这样做的东西。
答案 0 :(得分:1)
您可以组合使用NLog Mail Target,(a)Windows Identity Layout Renderer(如果您可以从登录的用户名构建mailaddress)
<!-- In your NLog.config. -->
<target
...
from="${windows-identity:domain=false}@yourcompany.com"
...>
或(b)EventProperties Layout Renderer(以前称为EventContext)提供应用程序中的mailaddress。
/* In your code. */
LogEventInfo theEvent = new LogEventInfo(LogLevel.Debug, "", "Pass my custom value");
theEvent.Properties["MailAddress"] = theUsersMailAddress;
myLogger.Log(theEvent);
<!-- In your NLog.config. -->
<target
...
from="${event-properties:item=MailAddress}"
...>