Comments (2)
Thanks for the feedback!
I'm not experienced with Serilog, but I had a go tonight where I refactored away/split out anything related to .Net Cores ILogger and made a BrowserLogger independent of whether you choose the "native", Serilogs or other logging frameworks.
I'll commit some code after some rework/cleaning, but for Serilog's case the use would look something like this:
public Startup(IConfiguration configuration)
{
//...
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.WriteTo.BrowserLogger()
.CreateLogger();
}
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddBrowserLogger();
services.AddLogging(loggingBuilder =>
loggingBuilder.AddSerilog(dispose: true));
services.Configure<BrowserLoggerOptions>(Configuration.GetSection("Logging"));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//...
app.UseWebSockets();
app.UseBrowserLoggerSerilog();
// This line has to be fixed, but for now...
BrowserLoggerSink.Instance.Service = app.ApplicationServices.GetService<BrowserLoggerService>();
app.UseMvc();
}
Then from you code you either use the ILogger, or you can:
Serilog.Log.Warning("This is a warning!");
Is this along the lines of what your want?
from lavspent.browserlogger.
Thanks a lot! didn't expect a fast one ❤️ ❤️ ❤️
It's definitely a step on the right track - would it much to ask if BrowserLogger can be configured from appsettings (https://github.com/serilog/serilog-settings-configuration) instead of: services.Configure(Configuration.GetSection("Logging"));
has it's own settings for serilog supports multiple sinks therefore we need multiple configurations:
Something like:
"WriteTo": [
{ "Name": "Console" },
{ "Name": "BrowserLoggerOptions", "Args": {
"ConsolePath": "console",
"WebConsole": {
"LogStreamUrl": "ws://localhost:5000/ls",
"ShowClassName": false
},
"LogLevel": {
"Default": "Information",
"System": "Information",
"Microsoft": "Information"
}
} }
],
from lavspent.browserlogger.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lavspent.browserlogger.