asp.net core - Targeting different providers per logger -
is not possible target different logging providers based on logger used?
for example, refer below code:
// establish loggers var somelogger = loggerfactory.createlogger("somelogger"); var anotherlogger = loggerfactory.createlogger("anotherlogger"); // hook providers (but not @ individual logger's level??) loggerfactory.adddebug(minimumlevel: loglevel.debug); loggerfactory.addconsole(minimumlevel: loglevel.debug); loggerfactory.addblob(connectionstring, minimumlevel: loglevel.information); // log stuff somelogger.logerror("logging somelogger"); anotherlogger.logerror("logging anotherlogger");
all providers logged here, regardless of logger used.
is not possible? point of defining separate loggers if log every provider regardless?
i'm not sure if that's possible can log messages of different log levels different providers. example below logs warning level messages , above event log using sourceswitch
api. use case here may satisfy needs may not want information or debug messages filling event log.
private static void configurelogging(iloggerfactory loggerfactory) { var sourceswitch = new sourceswitch("eventlog"); sourceswitch.level = sourcelevels.warning; loggerfactory.addtracesource(sourceswitch, new eventlogtracelistener("application")); }
update
asp.net 5 light on examples @ moment addprovider
method on iloggerfactory
used add it's own custom providers specific it:
/// <summary> /// used create logger instances of given name. /// </summary> public interface iloggerfactory : idisposable { /// <summary> /// minimum level of log messages sent registered loggers. /// </summary> loglevel minimumlevel { get; set; } /// <summary> /// creates new ilogger instance of given name. /// </summary> /// <param name="categoryname"></param> /// <returns></returns> ilogger createlogger(string categoryname); void addprovider(iloggerprovider provider); }
so create iloggerfactory
register different providers it. inject right iloggerfactory
classes depending on want log to.
Comments
Post a Comment