Использование. Net 4.6 У меня есть класс c Вспомогательный класс Serilog - я разобрался с основами следующим образом:
public static class SerilogHelper
{
private static ILogger log;
private static ILogger CreateLogger()
{
if (log == null)
{
string levelString = SSOSettingsFileManager.SSOSettingsFileReader.ReadString(
"BizTalk.Common", "serilog.minimum-level");
SerilogLevel level = (SerilogLevel)Enum.Parse(typeof(SerilogLevel), levelString);
string conString = SSOSettingsFileManager.SSOSettingsFileReader.ReadString(
"BizTalk.Common", "serilog.connection-string");
var levelSwitch = new LoggingLevelSwitch();
levelSwitch.MinimumLevel = (Serilog.Events.LogEventLevel)level;
log = new LoggerConfiguration()
.MinimumLevel.ControlledBy(levelSwitch)
.WriteTo.MSSqlServer(connectionString: conString, tableName: "Serilog", autoCreateSqlTable: true)
.WriteTo.RollingFile("log-{Date}.txt")
.CreateLogger();
}
return log;
}
public static void WriteString(string content)
{
var logger = CreateLogger();
logger.Information(content);
}
У меня есть следующий модульный тест:
[TestMethod]
public void UN_TestSerilog1()
{
Common.Components.Helpers.SerilogHelper.WriteString("Simple logging");
}
Я прошел через отладчик, чтобы убедиться, что переменная «level» установлена правильно - это перечисление с именем «Debug» со значением 1.
Хотя Sql Серверная таблица создана хорошо, я не вижу вставленных строк или какого-либо файла журнала TXT. Я также пытался вызвать logger.Error (content) , но все еще не выводил.
Я уже использовал тот же вспомогательный код ранее на другом сайте / проекте, и он работал нормально. Где я go ошибся на этот раз?