Я создал библиотеку классов .Net (4.6.2) и создал реализацию serilog, которая вызывается другими интерфейсами, такими как консольное приложение. Теперь, когда я использую тип приемника файлов, журналы записываются в файлы, но с приемником MSSQL этого не происходит. Таблицы журнала создаются с параметрами столбцов, как это предусмотрено параметрами autoCreateTable.
ILogger logger = new LoggerConfiguration()
.WriteTo.MSSqlServer(connectionString,
tableName,
autoCreateSqlTable: autoCreateSqlTable,
restrictedToMinimumLevel: LogEventLevel.Verbose,
columnOptions: GetSQLSinkColumnOptions(),
batchPostingLimit: batchPostingLimit)
.CreateLogger();
Я также включил ведение самоблога серилога, но никаких исключений не отображается. Не нашел никакого полезного решения для того же самого.
Однако создается таблица журнала. Я проверил разрешения для пользователя, и у него также есть правильные разрешения.
Ниже приведен снимок кода.
public static class GenericLogger
{
private static ILogger _usageLogger;
private static ILogger _errorLogger;
static GenericLogger()
{
var logTypes = LogConfigurationHelper.GetLogTypes();
if (logTypes != null && logTypes.Count > 0)
{
foreach (var logType in logTypes)
{
ConfigureLogger(logType.Id); // Intitalizes logs based on
//configuration.
}
}
Serilog.Debugging.SelfLog.Enable(msg =>
{
Debug.Print(msg);
Debugger.Break();
});
}
///The write log function
///
public static void WriteError(LogDetail infoToLog)
{
if (infoToLog.Exception != null)
{
infoToLog.Message = GetMessageFromException(infoToLog.Exception);
}
_errorLogger.Write(LogEventLevel.Information,
"{Timestamp}{Product}{Layer}{Location}{Message}" +
"{Hostname}{UserId}{UserName}{Exception}{ElapsedMilliseconds}" +
"{CorrelationId}{CustomException}{AdditionalInfo}",
infoToLog.TimeStamp, infoToLog.Product, infoToLog.Layer, infoToLog.Location, infoToLog.Message,
infoToLog.Hostname, infoToLog.UserId, infoToLog.UserName, infoToLog.Exception?.ToCustomString(),
infoToLog.ElapsedMilliseconds, infoToLog.CorrelationId, infoToLog.CustomException,
infoToLog.AdditionalInfo);
// To add ((IDisposable) _errrorLog).Dispose();
}
}
connectionString
,columnOptions
, ...), мы могли бы попытаться воспроизвести поведение ... - person C. Augusto Proiete   schedule 24.10.2018