Я смотрю серилог и провожу несколько тестов. Пока все работает нормально, запись в консоль или файл. Однако мне не удалось заставить его работать с раковиной RavenDb. Я пытаюсь заставить это работать в приложении asp.net 5. Я просмотрел следующие статьи:
http://nblumhardt.com/2015/05/diagnostic-logging-in-dnx-asp-net-5/ http://nblumhardt.com/2013/06/serilog-and-ravendb/
Я начал с пустого приложения и добавил следующие зависимости в project.json.
"Serilog.Framework.Logging": "1.0.0-rc1-final-10071",
"Serilog.Sinks.RavenDB": "1.5.4",
"RavenDB.Client": "3.0.30000"
Я также удалил dnxcore.
Затем я добавил следующий код в startup.cs:
public Startup()
{
var documentStore = new DocumentStore()
{
Url = "http://localhost:8080",
DefaultDatabase = "Logs"
}.Initialize();
Log.Logger = new LoggerConfiguration()
.WriteTo.File(@"c:\temp\log.txt")
.WriteTo.Console()
.WriteTo.RavenDB(documentStore)
.CreateLogger();
}
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
loggerFactory.AddSerilog();
app.UseIISPlatformHandler();
app.Run(async (context) =>
{
Log.Information("Hello World");
await context.Response.WriteAsync("Hello World!");
});
}
Все записывается в файл и консоль нормально, и создается база данных журналов, но записи журнала не хранятся в RavenDb.
Я пробовал разные уровни журнала. Я попытался уменьшить размер партии. Я подозревал, что это как-то связано с жизненным циклом хранилища документов, поэтому я добавил следующее в метод ConfigureServices
.
services.AddSingleton(x =>
{
return new DocumentStore()
{
Url = "http://localhost:8080/",
DefaultDatabase = "Test",
}.Initialize();
}
Затем я переместил код конфигурации регистратора в метод Configure
и использовал экземпляр DI, но это тоже не сработало. Я могу хранить другие объекты в RavenDb, используя тот же DocumentStore
.
Я пропустил настройку конфигурации или что-то в этом роде?
SelfLog
? github.com/serilog/serilog/wiki/Debugging-and-Diagnostics - person Nicholas Blumhardt   schedule 09.12.2015