NLog for corporate library

Using the snippet below that uses NLog, how can this be done with Enterprise Library 5.0?

    private Logger _logger;
    public NLogger() {            
        _logger = LogManager.GetCurrentClassLogger();
    }

    public void Info(string message) {
        _logger.Info(message);
    }

    public void Warn(string message) {
        _logger.Warn(message);
    }
+3
source share
1 answer

You are looking for something like this:

private LogWriter _logger;
public void EntLibLogger()
{
    _logger = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>(); ;
}

public void Info(string message)
{
    LogEntry log = new LogEntry();
    log.Message = message;
    log.Categories.Add("Information");
    log.Priority = Priority.Normal;
    log.Severity = TraceEventType.Information;
    _logger.Write(log);
}

public void Warn(string message)
{
    LogEntry log = new LogEntry();
    log.Message = message;
    log.Categories.Add("Warning");
    log.Priority = Priority.High;
    log.Severity = TraceEventType.Warning;
    _logger.Write(log);
}

public void Error(string message, int EventID, Dictionary<String,String> dictMessage)
{
    LogEntry log = new LogEntry();
    log.Message = message;
    log.Categories.Add("Error");
    log.Priority = Priority.Highest;
    log.Severity = TraceEventType.Error;
    log.EventId = EventID;
    _logger.Write(log, dictMessage);
}

Setting configuration parameters in app.config is a bit bit.

, EventID ( // #, ). , , , 1 , , . . , , .

, Entlib "" , . , EventID int. FormattedMessage - , formatters, ( ) - .

- , , , / dev , fanny . , , Iridium, , , , , .

+5

Source: https://habr.com/ru/post/1773533/


All Articles