我有一个控制台应用程序,将使用DI提供配置(选项模式),日志记录和其他服务引用的应用程序内的服务。
我有一个问题,日志记录正在为Info/Warning/Error/Critical工作,但调试和跟踪没有显示。我已将控制台级别设置为跟踪。如果我只是创建一个记录器工厂,那么所有日志都会显示出来。
听起来像是在使用默认值。对于在DI服务集合中创建的记录器,是否有其他方法来配置日志级别?
我试着在服务集合上添加一个dispose,如本文所述,编辑2链接,但没有成功。
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Console;
using System;
namespace DownloadClientData.App
{
class Program
{
static int Main(string[] args)
{
//***if I use this way to create the logger in the DI container, debug and trace messages are not displayed
var serviceCollection = new ServiceCollection();
serviceCollection.AddLogging();
//tried this alternative too - no change...
//serviceCollection.AddLogging(LoggingBuilder => LoggingBuilder.AddFilter<ConsoleLoggerProvider>("All Categories", LogLevel.Trace));
var serviceProvider = serviceCollection.BuildServiceProvider();
var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
//***If I comment out the above lines and uncomment the below line, all 6 logs are displayed.
//var loggerFactory = new LoggerFactory();
loggerFactory
.AddConsole(LogLevel.Trace)
.AddDebug(LogLevel.Trace);
var logger = loggerFactory.CreateLogger(typeof(Program));
logger.LogInformation("Information");
logger.LogTrace("Trace");
logger.LogDebug("Debug");
logger.LogWarning("Warning");
logger.LogCritical("Critical");
logger.LogError("Error");
Console.ReadKey();
return 0;
}
}
}
在servicecolection
上使用AddLogging()
扩展方法时,最低日志级别的默认值不同。您可以这样设置:
static void Main(string[] args)
{
var serviceCollection = new ServiceCollection()
.AddLogging(builder => {
builder.SetMinimumLevel(LogLevel.Trace);
builder.AddConsole();
builder.AddDebug();
});
var serviceProvider = serviceCollection.BuildServiceProvider();
var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
var logger = loggerFactory.CreateLogger(typeof(Program));
logger.LogInformation("Information");
logger.LogTrace("Trace");
logger.LogDebug("Debug");
logger.LogWarning("Warning");
logger.LogCritical("Critical");
logger.LogError("Error");
Console.ReadKey();
}
此任务将展示如何配置 Istio 创建自定义日志条目并且发送给 Fluentd 守护进程。Fluentd 是一个开源的日志收集器, 支持多种数据输出并且有一个可插拔架构。 Elasticsearch是一个流行的后端日志记录程序, Kibana 用于查看。在任务结束后, 一个新的日志流将被加载发送日志到示例 Fluentd/Elasticsearch/Kibana 栈。 在任务中,将使用 BookI
本章介绍如何使用Zipkin或Jaeger收集启用了Istio的应用程序的调用链信息。 完成本章后,你可以理解有关应用程序的所有假设以及如何使其参与跟踪,无论您使用何种语言/框架/平台构建应用程序。 BookInfo示例用来作为此任务的示例应用程序。 环境准备 参照安装指南的说明安装Istio。 如果您在安装过程中未启动Zipkin或Jaeger插件,则可以运行以下命令启动: 启动Zipkin:
一般来说,你应该在运行时增加调试选项来调试问题;也可以把调试选项添加到 Ceph 配置文件里来调试启动问题,然后查看 /var/log/ceph (默认位置)下的日志文件。 Tip 调试输出会拖慢系统,这种延时有可能掩盖竞争条件。 日志记录是资源密集任务。如果你碰到的问题在集群的某个特定区域,只启用那个区域对应的日志功能即可。例如,你的 OSD 运行良好、元数据服务器却不行,这时应该先打开那个可疑
大家好,希望有人能帮助我,我正在尝试获得一个非常基本的zipkin实现,以掌握分布式跟踪。我正在使用Spring靴来做这件事,但似乎不能使它工作。当我尝试为我的服务查找跟踪时,zipkin UI中不会显示任何内容。 我有两个部署如下: 我想要登录的spring boot应用程序: 我得完整日志: 我部署的第二个应用程序是我的zipkin客户机/UI Pom.xml
本章展示如何配置Istio来自动收集mesh中服务的遥测数据。 在本章末尾,将为mesh中的服务调用启用新的metric和新的日志流。 BookInfo应用将作为介绍本章内容的示例应用。 开始之前 在集群中安装Istio并部署一个应用程序。 本章假设Mixer使用默认配置(--configDefaultNamespace=istio-system)。 如果使用不同的值,则更新这个任务中的配置和命令
问题内容: 是否有一个Logger可以轻松记录我的堆栈跟踪记录(我得到了什么 )?我搜索了log4j文档,但未发现有关记录堆栈跟踪的任何信息。 我可以自己做 但我不想到处重复这段代码。 如果log4j不会为我执行此操作,是否还有另一个日志记录程序包将为我记录stacktrace? 谢谢。 问题答案: 使用log4j可通过以下方式完成: 第一个参数是要显示的消息,第二个参数是记录堆栈跟踪的异常(可抛