本文整理汇总了C#中MockMailTarget.WriteAsyncLogEvents方法的典型用法代码示例。如果您正苦于以下问题:C# MockMailTarget.WriteAsyncLogEvents方法的具体用法?C# MockMailTarget.WriteAsyncLogEvents怎么用?C# MockMailTarget.WriteAsyncLogEvents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MockMailTarget
的用法示例。
在下文中一共展示了MockMailTarget.WriteAsyncLogEvents方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CustomHeaderAndFooter
public void CustomHeaderAndFooter()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
SmtpServer = "server1",
AddNewLines = true,
Layout = "${message}",
Header = "First event: ${logger}",
Footer = "Last event: ${logger}",
};
mmt.Initialize(null);
var exceptions = new List<Exception>();
mmt.WriteAsyncLogEvents(
new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Error, "MyLogger3", "log message 3").WithContinuation(exceptions.Add));
Assert.Null(exceptions[0]);
Assert.Equal(1, mmt.CreatedMocks.Count);
var mock = mmt.CreatedMocks[0];
Assert.Equal(1, mock.MessagesSent.Count);
var msg = mock.MessagesSent[0];
string expectedBody = "First event: MyLogger1\nlog message 1\nlog message 2\nlog message 3\nLast event: MyLogger3\n";
Assert.Equal(expectedBody, msg.Body);
}
示例2: CsvLayoutTest
public void CsvLayoutTest()
{
var layout = new CsvLayout()
{
Delimiter = CsvColumnDelimiterMode.Semicolon,
WithHeader = true,
Columns =
{
new CsvColumn("name", "${logger}"),
new CsvColumn("level", "${level}"),
new CsvColumn("message", "${message}"),
}
};
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
SmtpServer = "server1",
AddNewLines = true,
Layout = layout,
};
layout.Initialize(null);
mmt.Initialize(null);
var exceptions = new List<Exception>();
mmt.WriteAsyncLogEvents(
new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Error, "MyLogger3", "log message 3").WithContinuation(exceptions.Add));
Assert.Null(exceptions[0]);
Assert.Equal(1, mmt.CreatedMocks.Count);
var mock = mmt.CreatedMocks[0];
Assert.Equal(1, mock.MessagesSent.Count);
var msg = mock.MessagesSent[0];
string expectedBody = "name;level;message\nMyLogger1;Info;log message 1\nMyLogger2;Debug;log message 2\nMyLogger3;Error;log message 3\n";
Assert.Equal(expectedBody, msg.Body);
}
示例3: PerMessageAddress
public void PerMessageAddress()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "${logger}@foo.com",
Body = "${message}",
SmtpServer = "server1.mydomain.com",
AddNewLines = true,
};
mmt.Initialize(null);
var exceptions = new List<Exception>();
mmt.WriteAsyncLogEvents(
new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Debug, "MyLogger2", "log message 2").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Error, "MyLogger1", "log message 3").WithContinuation(exceptions.Add));
Assert.Null(exceptions[0]);
// 2 messages are sent, one using MyLogger1.mydomain.com, another using MyLogger2.mydomain.com
Assert.Equal(2, mmt.CreatedMocks.Count);
var mock1 = mmt.CreatedMocks[0];
Assert.Equal(1, mock1.MessagesSent.Count);
var msg1 = mock1.MessagesSent[0];
Assert.Equal("[email protected]", msg1.To[0].Address);
Assert.Equal("log message 1\nlog message 3\n", msg1.Body);
var mock2 = mmt.CreatedMocks[1];
Assert.Equal(1, mock2.MessagesSent.Count);
var msg2 = mock2.MessagesSent[0];
Assert.Equal("[email protected]", msg2.To[0].Address);
Assert.Equal("log message 2\n", msg2.Body);
}
示例4: ErrorHandlingTest
public void ErrorHandlingTest()
{
var mmt = new MockMailTarget
{
From = "[email protected]",
To = "[email protected]",
SmtpServer = "${logger}",
Body = "${message}",
AddNewLines = true,
};
mmt.Initialize(null);
var exceptions = new List<Exception>();
var exceptions2 = new List<Exception>();
mmt.WriteAsyncLogEvents(
new LogEventInfo(LogLevel.Info, "MyLogger1", "log message 1").WithContinuation(exceptions.Add),
new LogEventInfo(LogLevel.Debug, "ERROR", "log message 2").WithContinuation(exceptions2.Add),
new LogEventInfo(LogLevel.Error, "MyLogger1", "log message 3").WithContinuation(exceptions.Add));
Assert.IsNull(exceptions[0], Convert.ToString(exceptions[0]));
Assert.IsNull(exceptions[1], Convert.ToString(exceptions[1]));
Assert.IsNotNull(exceptions2[0]);
Assert.AreEqual("Some SMTP error.", exceptions2[0].Message);
// 2 messages are sent, one using MyLogger1.mydomain.com, another using MyLogger2.mydomain.com
Assert.AreEqual(2, mmt.CreatedMocks.Count);
var mock1 = mmt.CreatedMocks[0];
Assert.AreEqual("MyLogger1", mock1.Host);
Assert.AreEqual(1, mock1.MessagesSent.Count);
var msg1 = mock1.MessagesSent[0];
Assert.AreEqual("log message 1\nlog message 3\n", msg1.Body);
var mock2 = mmt.CreatedMocks[1];
Assert.AreEqual("ERROR", mock2.Host);
Assert.AreEqual(1, mock2.MessagesSent.Count);
var msg2 = mock2.MessagesSent[0];
Assert.AreEqual("log message 2\n", msg2.Body);
}