Tag: 日志logging

使用简单的自定义日志logging框架,通过线程将消息logging到JavaFX TextArea的最有效方式

我有一个简单的自定义日志框架是这样的: package something; import javafx.scene.control.TextArea; public class MyLogger { public final TextArea textArea; private boolean verboseMode = false; private boolean debugMode = false; public MyLogger(final TextArea textArea) { this.textArea = textArea; } public MyLogger setVerboseMode(boolean value) { verboseMode = value; return this; } public MyLogger setDebugMode(boolean value) { debugMode = value; return this; } public […]

bash:强制exec'd进程具有无缓冲的stdout

我有一个脚本,如: #!/bin/bash exec /usr/bin/some_binary > /tmp/my.log 2>&1 问题是some_binary将所有的日志logging发送到标准输出,而缓冲使得我只能看到几行输出。 这是令人讨厌的东西卡住了,我需要看看最后一行说什么。 有没有办法使stdout无缓冲之前,我会执行这将影响some_binary,所以它有更多有用的日志logging? (包装脚本只是在exec之前设置一些环境variables,所以perl或python中的解决scheme也是可行的。)

我如何添加Trace()到C#中的每个方法调用?

我很难跟踪locking问题,所以我想logging每个方法调用的进入和退出。 我以前用C ++做过,而不必为每个方法添加代码。 这可能与C#?

在printStackTrace()上打印完整的调用堆栈?

我需要编写一个小型日志分析器应用程序来处理由我的项目中使用的第三方封闭源代码库(里面有自定义logging器)生成的一些日志文件。 如果在日志中inputexception,我需要收集关于堆栈跟踪的方法的汇总信息,从顶部到exception的实际位置。 不幸的是,在默认情况下,Java printStackTrace()不会打印调用堆栈中的每个方法,但是达到一定数量,剩下的仅仅被引用为16 more… 如果我自己可以捕获exception,我会使用getStackTrace()并自己打印它,但根本原因永远不会包含在这个库引发的exception中。 有没有办法让Java打印堆栈跟踪中的整个调用堆栈? 除了我的情况,常见的日志框架可以select吗? 编辑:该程序在JDK 1.5.0_09的Sun JVM上运行。 没有select来改变这一点。

python日志处理程序中setLevel的意义是什么?

假设我有以下代码: import logging import logging.handlers a = logging.getLogger('myapp') h = logging.handlers.RotatingFileHandler('foo.log') h.setLevel(logging.DEBUG) a.addHandler(h) # The effective log level is still logging.WARN print a.getEffectiveLevel() a.debug('foo message') a.warn('warning message') 我期望在处理程序上设置logging.DEBUG会导致debugging级别的消息被写入日志文件。 但是,这会打印30个有效级别(相当于logging.WARNING ,默认值),并且只将warn消息logging到日志文件中,而不是debugging消息。 看起来处理程序的日志级别正在被丢弃,例如,它被默默地忽略了。 这让我感到奇怪,为什么在处理程序上有setLevel ?

日志输出的多进程。进程

在python中使用multiprocessing.Process类时,是否有办法logging给定Process的stdout输出?

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

我在哪里可以查看Eclipse中的Tomcat日志文件? 出于某种原因,我的Tomcat的安装/日志文件夹总是空的。 顺便说一下,Tomcat转储到日志文件一段时间或立即?

Cron作业日志 – 如何login?

我想知道我如何能够看到每个执行的cron作业。 日志文件位于哪里? 或者我可以将输出发送到我的电子邮件? 我已经设置了电子邮件地址发送日志时,cron作业运行,但我还没有收到任何东西。

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

我正在编写一个Web服务(使用ASP.NET MVC),为了支持的目的,我们希望能够尽可能接近地logging请求和响应到原始的在线格式(即包括HTTP方法,path,所有标题和正文)到数据库中。 我不确定的是如何以最less的“错位”方式来获得这些数据。 我可以通过检查HttpRequest对象的所有属性并从它们构build一个string(以及类似的响应)来重新构成我认为请求看起来像的内容,但是我真的想要得到实际的请求/响应数据这是在电线上发送的。 我很高兴使用任何拦截机制,如filter,模块等,解决scheme可以特定于IIS7。 但是,我宁愿只保留在托pipe代码中。 任何build议? 编辑:我注意到, HttpRequest有一个SaveAs方法,可以将请求保存到磁盘,但这使用内部帮助器方法的负载重build内部状态的请求,不能公开访问(为什么这不允许保存到用户提供的stream我不知道)。 所以它开始看起来像我将尽我所能重build从对象的请求/响应文本…呻吟。 编辑2:请注意,我说的整个请求,包括方法,path,标题等。目前的反应只看在身体stream不包括这个信息。 编辑3:没有人在这里读问题吗? 目前为止有五个答案,但还没有人提供一个获得整个原始的在线请求的方法。 是的,我知道我可以从请求对象中捕获输出stream,头文件和URL以及所有这些东西。 我已经说过,在这个问题上,请看: 我可以通过检查HttpRequest对象的所有属性并从它们构build一个string(以及类似的响应)来重新构成我认为请求看起来像的内容,但是我真的想要得到实际的请求/响应数据这是在电线上发送的。 如果您知道完整的原始数据(包括标题,url,http方法等),则无法检索,那么知道这些数据就很有用。 同样的,如果你知道如何以原始格式(是的,我还是指包括头文件,url,http方法等等)来完成这个工作,而不需要重新构build它,那么这就是非常有用的。 但是告诉我,我可以从HttpRequest / HttpResponse对象重build它是没有用的。 我知道。 我已经说过了。 请注意:在任何人开始说这是一个坏主意之前,或者会限制可伸缩性等,我们也将在分布式环境中实现节stream,顺序传输和反重放机制,因此无论如何都需要数据库日志logging。 我不想讨论这是否是一个好主意,我正在寻找如何做到这一点。

应该在“大写”中声明“静态最终logging器”吗?

在Java中,静态最终variables是常量,惯例是它们应该是大写的。 但是,我看到大多数人都以小写字母的forms声明了违规发生在PMD中的logging器 。 例如: private static final Logger logger = Logger.getLogger(MyClass.class); 只要search谷歌或SO “静态最终logging器”,你会看到这一点。 我们应该使用LOGGER吗?