Skip to content

Repository files navigation

Es.Logging

Build Status

Es.Logging抽象出.Net平台的日志通用接口,自身并没有日志处理实现,默认实现了NLog、Log4net、Microsoft.Extensions.Logging和console standard output支持。

通常日志的实例我们都在构造函数中创建

publicclassFoo{privatereadonlyILogger_logger;publicFoo(){_logger=LoggerManager.GetLogger<Foo>();}}

但是很多时候我们也许会在静态类使用,也许Logger静态实例在没有LoggerProvider时候可能会失效,Es.Logging现在已经支持。

publicstaticclassFoo{privatestaticreadonlyILogger_logger=LoggerManager.GetLogger<Foo>();}

Features

  • 聚合.NET平台常用日志类库
  • 已有静态Logger实例支持后期追加的LoggerProvider
  • 支持Unix&Windows控制台输出
  • 支持NLog
  • 支持Log4net
  • 支持Serilog
  • 支持Microsoft.Extensions.Logging

Packages & Status

PackageNuGet
Es.LoggingNuGet package
Es.Logging.ConsoleNuGet package
Es.Logging.NLogNuGNuGet packageet
Es.Logging.Log4NuGet package
Es.Logging.SerilogNuGet package
Es.Microsoft.LoggingNuGet package

Usage

标准控制台输出

usingEs.Logging;publicstaticclassFoo{//static Logger instanceprivatestaticreadonlyILogger_logger=LoggerManager.GetLogger<Foo>();privatestaticvoidMain(string[]args){//add console outputLoggerManager.Factory.AddConsole(LogLevel.Trace);//logger info_logger.Info("Es.Logging");}}

推荐使用NLog

usingEs.Logging;publicstaticclassFoo{//static Logger instanceprivatestaticreadonlyILogger_logger=LoggerManager.GetLogger<Foo>();privatestaticvoidMain(string[]args){//init NLog configLoggingConfigurationconfig=newLoggingConfiguration();ColoredConsoleTargetconsoleTarget=newColoredConsoleTarget();config.AddTarget("console",consoleTarget);LoggingRulerule=newLoggingRule("*",NLog.LogLevel.Trace,consoleTarget);config.LoggingRules.Add(rule);LogFactoryfactory=newLogFactory(config);//add NLog Provider_logFactory.AddNLog(factory);//logger info_logger.Info("Es.Logging");}}

更多请查看Sample

License

See LICENSE for details.

About

Logger Abstract interface

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages