标签: logging

Python日志记录:以时间格式使用毫秒

默认情况下logging.Formatter('%(asctime)s'),使用以下格式打印:

2011-06-09 10:54:40,638
Run Code Online (Sandbox Code Playgroud)

其中638是毫秒.我需要将逗号更改为点:

2011-06-09 10:54:40.638
Run Code Online (Sandbox Code Playgroud)

格式化我可以使用的时间:

logging.Formatter(fmt='%(asctime)s',datestr=date_format_str)
Run Code Online (Sandbox Code Playgroud)

但是文档没有指定如何格式化毫秒.我发现这个SO问题谈论微秒,但是a)我更喜欢毫秒和b)以下不适用于Python 2.6(我正在研究),因为%f:

logging.Formatter(fmt='%(asctime)s',datefmt='%Y-%m-%d,%H:%M:%S.%f')
Run Code Online (Sandbox Code Playgroud)

python time logging

141
推荐指数
7
解决办法
8万
查看次数

注销以将不同的消息记录到两个文件

我正在使用logback/slf4j进行日志记录.我想解析我的日志文件来分析一些数据,所以我想要有两个记录器实例,每个记录器实例都记录到一个单独的文件中,而不是解析一个很棒的大文件(主要由调试语句组成); 一个用于分析,一个用于所有目的的日志记录.有没有人知道这是否可以使用Logback或任何其他记录器?

java logging logback slf4j

139
推荐指数
2
解决办法
8万
查看次数

在ASP.NET MVC和IIS7中记录原始HTTP请求/响应

我正在编写一个Web服务(使用ASP.NET MVC),出于支持目的,我们希望能够尽可能接近原始的在线格式(即包括HTTP)来记录请求和响应方法,路径,所有标题和正文)到数据库中.

我不确定的是如何以最少的"损坏"方式获取这些数据.通过检查HttpRequest对象的所有属性并从中构建字符串(以及类似的响应),我可以重新构建我认为请求的样子,但我真的想要获取实际的请求/响应数据.发送电线.

我很乐意使用任何拦截机制,如过滤器,模块等,解决方案可以特定于IIS7.但是,我更喜欢将其保留在托管代码中.

有什么建议?

编辑:我注意到HttpRequest有一个SaveAs方法可以将请求保存到磁盘,但是这会使用无法公开访问的内部帮助程序方法从内部状态重建请求(这就是为什么这不允许保存到用户提供的流我不知道).所以它开始看起来我将不得不尽最大努力重建来自对象的请求/响应文本......呻吟.

编辑2:请注意我说的整个请求包括方法,路径,标题等.当前响应只查看不包含此信息的正文流.

编辑3:没有人在这里阅读问题吗?到目前为止,有五个答案,但是没有一个答案暗示了一种获得整个原始线上请求的方法.是的,我知道我可以从请求对象中捕获输出流和标题以及URL和所有内容.我在问题中已经说过了,请看:

通过检查HttpRequest对象的所有属性并从中构建字符串(以及类似的响应),我可以重新构建我认为请求的样子,但我真的想得到实际的请求/响应数据这是通过电线发送的.

如果你知道完整的原始数据(包括header,url,http方法等)根本无法检索,那么知道这将是有用的.同样地,如果你知道如何以原始格式获取所有内容(是的,我仍然意味着包括标题,网址,http方法等),而不必重新构建它,这就是我所问的,那将是非常有用的.但告诉我,我可以从HttpRequest/ HttpResponse对象重建它是没有用的.我知道.我已经说过了.


请注意:在任何人开始说这是一个坏主意,或将限制可扩展性等之前,我们还将在分布式环境中实施限制,顺序传递和反重放机制,因此无论如何都需要数据库日志记录.我不是在寻找关于这是否是一个好主意的讨论,我正在寻找如何做到这一点.

asp.net-mvc logging request ihttpmodule

137
推荐指数
7
解决办法
9万
查看次数

我在哪里可以查看Eclipse中的Tomcat日志文件?

我在哪里可以查看Eclipse中的Tomcat日志文件?

出于某种原因,我的Tomcat安装/日志文件夹始终为空.

BTW,Tomcat会在一段时间后转储到日志文件中还是立即转储?

java eclipse logging tomcat

137
推荐指数
4
解决办法
14万
查看次数

写入Windows应用程序事件日志

有没有办法写入此事件日志:

在此输入图像描述

或者至少,一些其他Windows默认日志,我不必注册事件源

.net c# windows logging event-log

136
推荐指数
4
解决办法
19万
查看次数

如何在Python中禁用和重新启用控制台日志记录?

我正在使用Python的日志记录模块,我想暂时禁用控制台日志记录,但它不起作用.

#!/usr/bin/python
import logging

logger = logging.getLogger() # this gets the root logger
# ... here I add my own handlers 
#logger.removeHandler(sys.stdout)
#logger.removeHandler(sys.stderr)

print logger.handlers 
# this will print [<logging.StreamHandler instance at ...>]
# but I may have other handlers there that I want to keep

logger.debug("bla bla")
Run Code Online (Sandbox Code Playgroud)

上面的代码显示了bla blaon stdout,我不知道如何安全地禁用控制台处理程序.我怎么能确定我暂时删除了控制台StreamHandler而不是另一个?

python console logging stdout

134
推荐指数
9
解决办法
14万
查看次数

如何以编程方式更改根日志记录级别

我有以下logback.xml文件:

<configuration debug="true"> 

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
<encoder>
  <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<root level="debug">
  <appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

现在,在发生特定事件时,我想以编程方式将根记录器的级别从调试更改为错误.我不能使用变量替换,我必须在代码中执行此操作.

怎么做到呢 ?谢谢.

java logging logback

134
推荐指数
5
解决办法
13万
查看次数

如何更改maven日志记录级别以仅显示警告和错误?

我想阻止maven显示INFO消息,我想只看到警告和错误(如果有的话).

我怎样才能实现这一点,最好是通过更改调用maven的命令行来实现?

logging maven-2 maven

133
推荐指数
6
解决办法
10万
查看次数

Java Logging与Log4J

它仍然是值得log4j的库添加到Java 5的项目只是为了记录让我们说一些例外文件与一些不错的结余设置.或者标准的util.logging工具也可以完成这项工作吗?

你怎么看?

java logging log4j java.util.logging

131
推荐指数
5
解决办法
7万
查看次数

您可以在代码中配置log4net而不是使用配置文件吗?

我理解为什么log4net使用app.config文件来设置日志记录 - 这样您就可以轻松更改信息的记录方式,而无需重新编译代码.但在我的情况下,我不想app.config用我的可执行文件打包文件.我不想修改我的日志记录设置.

有没有办法让我设置登录代码而不是使用app.config

这是我的简单配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\EventLog.txt" />
      <appendToFile value="false" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="1GB" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
    </appender>
    <root>
      <level value="Info" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="MemoryAppender" />
    </root>
  </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

编辑:

要完全清楚:我的目标是没有XML文件.甚至不是我变成流的嵌入式资源.我的目标是完全以编程方式定义记录器.只是好奇是否有可能,如果是这样,我可能会找到一个语法示例.

.net c# logging log4net

129
推荐指数
4
解决办法
8万
查看次数