public void Handler() { _logger.Info("Calling IAnimalsProvider WebApi"); var animal = _animalsProvider.Get(1).Result; _logger.Info(() => LoggingConvention.ForLogging("Get IAnimalsProvider WebApi", animal)); }
public async Task Consume(ConsumeContext <INewFarmerEvent> context) { var message = context.Message; // 日志记录, 调用Library中的LoggingConvention, 自动解析和记录object // 在此使用Action可以提高性能 _logger.Info(() => LoggingConvention.ForLogging("Received a INewFarmerEvent message", message)); var animal = await _animalRepository.Get(message.Id).ConfigureAwait(false); _logger.Info(() => LoggingConvention.ForLogging("Get animal", animal)); }
public async Task Handle(int animalKey) { Action <INewFarmerEvent> action = h => { h.Id = 1; h.Name = "A farmer"; }; await _mtBus.PublishAnonymous <INewFarmerEvent>(action).ConfigureAwait(false); _logger.Info(() => LoggingConvention.ForLogging("Publish a INewFarmerEvent message", new { Id = 1, Name = "A farmer" })); }
public void ShowLog() { // Trace和Debug的接口没有实现完全, 只能调用FUNC _logger.Trace(() => "Sample trace message"); _logger.Debug(() => "Sample debug message"); _logger.Info("Sample informational message"); _logger.Warn("Sample warning message"); _logger.Error("Sample error message"); _logger.Fatal("Sample fatal error message"); // 调用ForLogging来解析Object类型 _logger.Info(() => LoggingConvention.ForLogging("Sample object message,", new { P1 = 1, P2 = "ABC" })); }