Tag: 日志

dependency injection和命名logging器

我有兴趣进一步了解人们如何使用dependency injection平台来注入日志。 尽pipe下面的链接和我的示例都提到了log4net和Unity,但我不一定会使用这两者中的任何一个。 对于dependency injection/ IOC,我可能会使用MEF,因为这是项目其他部分(大)正在解决的标准。 我对dependency injection/ ioc非常陌生,对于C#和.NET来说很新颖(在VC6和VB6的过去10多年中,在C#/ .NET中写了很less的生产代码)。 我已经做了很多调查,在那里的各种日志logging解决scheme,所以我认为我有一个体面的处理他们的function集。 我只是不太熟悉,用实际的机制来获得一个dependency injection(或者,也许更“正确”,得到一个注入的dependency injection的抽象版本)。 我已经看到其他与日志和/或dependency injection相关的post,如: dependency injection和日志接口 logging最佳实践 Log4Net Wrapper类是什么样的? 再次关于log4net和Unity IOCconfiguration 我的问题没有具体与“如何使用ioc工具yyy注入日志logging平台xxx”? 相反,我感兴趣的是人们如何处理包装日志平台(通常,但并不总是推荐)和configuration(即app.config)。 例如,以log4net为例,我可以configuration(在app.config中)一些logging器,然后以这样的代码的标准方式获得这些logging器(没有dependency injection): private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 另外,如果我的logging器不是为一个类命名的,而是一个function区域,我可以这样做: private static readonly ILog logger = LogManager.GetLogger("Login"); private static readonly ILog logger = LogManager.GetLogger("Query"); private static readonly ILog logger = […]

logback编码器模式文档在哪里

我已经经历了所有logback的文档 ,并且在日志logging时找不到任何文档来configuration编码器的模式,例如: <encoder> <pattern>%d{HH:mm:ss.SSS} %-4relative %-5level %logger{35} – %msg%n</pattern> </encoder> 我想要一个表(就像log4j所提供的)解释不同的选项来configuration模式。 模式的文档在哪里? 也许他们在另一个项目中定义?

在运行时在slf4j中设置消息的日志级别

使用log4j时, Logger.log(Priority p, Object message)方法可用,可用于在运行时确定的日志级别logging消息。 我们正在使用这个事实和这个技巧来将stderrredirect到特定日志级别的日志logging器。 slf4j没有一个通用的log()方法,我可以find。 这是否意味着没有办法执行上述?

在Java中禁用Log4J输出

如何使用log4j.properties文件快速closures所有Log4J输出?

从IPython Notebook中的日志logging模块获取输出

当我在IPython Notebook中运行以下内容时,看不到任何输出: import logging logging.basicConfig(level=logging.DEBUG) logging.debug("test") 任何人都知道如何做到这一点,所以我可以看到笔记本内的“testing”消息?

将logging仪作为单件使用是一种好的做法吗?

我有一个习惯将logging器传递给构造函数,如: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } 但是这很烦人,所以我用了一段时间的这个属性: private ILogger logger = NullLogger.Instance; public ILogger Logger { get { return logger; } set { logger = value; } } 这也越来越讨厌 – 这不是干燥的,我需要在每个class都重复这个。 我可以使用基类,但是再次 – 我使用Form类,所以需要FormBase,等等。所以我认为,与ILogger暴露单身人士会有什么缺点,所以很想知道在哪里得到logging器: Infrastructure.Logger.Info("blabla"); 更新:正如Merlyn正确注意到的,我应该提到,在第一个和第二个例子中,我使用DI。

我在哪里configurationJUnittesting类中的log4j?

看看我写的最后一个JUnittesting用例,我在类构造函数中调用了log4j的BasicConfigurator.configure()方法。 这对于运行Eclipse的“以JUnittesting用例运行”命令中的单个类运行良好。 但是我意识到这是不正确的:我敢肯定,我们的主要testing套件从一个进程运行所有这些类,因此log4jconfiguration应该发生在更高的地方。 但是我仍然需要自己运行一个testing用例,在这种情况下,我想configurationlog4j。 我应该在哪里放置configuration调用,以便在testing用例独立运行时运行,而不是在testing用例作为更大套件的一部分运行时运行?

哪些Git提交统计很容易拉动

以前我很享受TortoiseSvn为给定的SVN仓库生成简单的提交统计信息的能力。 我想知道Git中有什么可用的,特别感兴趣的是: 每个用户的提交数量 每个用户更改的行数 随着时间的推移(例如每周更改的总量) 有任何想法吗?

如何使用Retrofit-Androidlogin请求和响应正文?

在Retrofit API中找不到相关方法来logging完整的请求/响应主体。 我期待在Profiler中获得一些帮助(但它只提供有关响应的元数据)。 我尝试在Builder中设置日志级别,但是这对我也没有帮助: RestAdapter adapter = (new RestAdapter.Builder()). setEndpoint(baseUrl). setRequestInterceptor(interceptor). setProfiler(profiler). setClient(client). setExecutors(MyApplication.getWebServiceThreadPool()). setLogLevel(LogLevel.FULL). setLog(new RestAdapter.Log() { @Override public void log(String msg) { Log.i(TAG, msg); } }). build(); 编辑:此代码正在工作。 我不知道为什么它不工作。 可能是因为我正在使用一些老版本的改造。

如何在Python中将日志loggingconfiguration到系统日志?

我无法理解Python的logging模块。 我的需求非常简单:我只想将所有内容logging到系统日志中。 阅读文档后,我想出了这个简单的testing脚本: import logging import logging.handlers my_logger = logging.getLogger('MyLogger') my_logger.setLevel(logging.DEBUG) handler = logging.handlers.SysLogHandler() my_logger.addHandler(handler) my_logger.debug('this is debug') my_logger.critical('this is critical') 但是这个脚本不会在syslog中产生任何日志logging。 怎么了?