Questions tagged «logging»

计算机数据记录是在计算机程序或计算机系统中通常具有特定范围的事件记录过程,以便提供可用于了解系统活动和诊断问题的审核跟踪。确保除此标签外还包括适当的软件或硬件标签。

12
如何配置Logback以将记录器的不同级别记录到不同的目的地?
如何配置Logback以将记录器的不同级别记录到不同的目的地? 例如,给定以下Logback配置,Logback会将INFO消息记录到STDOUT并将ERROR消息记录到STDERR吗? (请注意,此示例是第3章:Logback配置中logback-examples/src/main/java/chapters/configuration/sample4.xml所示示例的变形)。 <configuration> <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> <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern> %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <target>System.err</target> </appender> <!-- What is the effective level of "chapters.configuration"? --> <logger name="chapters.configuration" level="INFO" additivity="false"> <appender-ref ref="STDOUT" /> </logger> …
156 java  logging  logback 

17
如何获取Android崩溃日志?
我有一个不在市场上的应用程序(使用调试证书签名),但是每当我的应用程序崩溃时,我都希望获取崩溃日志数据。在哪里可以找到我的应用崩溃的日志?
155 android  logging  crash 

16
如何在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") 上面的代码显示了bla blaon …


6
log4j vs logback [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 我们在自制包装器后面使用log4j。我们计划现在使用它的更多功能。 我们应该更新到登录吗? (我的意思是框架不是像SLF4J这样的外观)
152 java  logging  log4j  logback 

11
如何将堆栈跟踪发送到log4j?
假设您执行e.printStackTrace(),则捕获到一个异常并在标准输出(例如控制台)上获得以下内容: java.io.FileNotFoundException: so.txt at java.io.FileInputStream.<init>(FileInputStream.java) at ExTest.readMyFile(ExTest.java:19) at ExTest.main(ExTest.java:7) 现在,我想将其发送给log4j之类的记录器,以获取以下信息: 31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt 32204 [AWT-EventQueue-0] ERROR at java.io.FileInputStream.<init>(FileInputStream.java) 32235 [AWT-EventQueue-0] ERROR at ExTest.readMyFile(ExTest.java:19) 32370 [AWT-EventQueue-0] ERROR at ExTest.main(ExTest.java:7) 我怎样才能做到这一点? try { ... } catch (Exception e) { final String s; ... // <-- What goes here? log.error( s …


5
用于审计日志记录的数据库设计
每当我需要设计一个新的数据库时,我都会花很多时间思考如何设置数据库架构以保留更改的审核日志。 此处已经对此提出了一些问题,但是我不同意在所有情况下都存在一种最佳方法: 修订数据库设计 变更日志审核数据库表的最佳设计 有关捕获审计跟踪的数据库设计的想法 我还偶然发现了这篇有关维护数据库更改日志的有趣文章,该文章试图列出每种方法的利弊。它写的很好,并且有有趣的信息,但是这使我的决定更加困难。 我的问题是:是否有我可以使用的参考,也许是一本书或诸如决策树之类的东西,我可以参考这些参考来根据一些输入变量来决定应该走的路,例如: 数据库架构的成熟度 如何查询日志 需要重新创建记录的概率 更重要的是:写入或读取性能 所记录的值的性质(字符串,数字,斑点) 可用存储空间 我知道的方法是: 1.添加创建和修改日期及用户的列 表示例: ID 值_1 值_2 值_3 创建日期 修改日期 由...制作 modified_by 主要缺点:我们失去了修改的历史。提交后无法回滚。 2.仅插入表格 表示例: ID 值_1 值_2 值_3 从 至 已删除(布尔值) 用户 主要缺点:如何保持外键最新?需要巨大的空间 3.为每个表创建一个单独的历史记录表 历史记录表示例: ID 值_1 值_2 值_3 值_4 用户 已删除(布尔值) 时间戳记 主要缺点:需要复制所有审核表。如果架构更改,则也需要迁移所有日志。 4.为所有表创建一个合并的历史表 历史记录表示例: table_name …


10
使用java.util.logging.Logger时如何在文本文件中写入日志
我遇到一种情况,我想将我创建的所有日志写入一个文本文件。 我们正在使用java.util.logging.Logger API生成日志。 我试过了: private static Logger logger = Logger.getLogger(className.class.getName()); FileHandler fh; fh = new FileHandler("C:/className.log"); logger.addHandler(fh); 但是仍然只能在控制台上获取我的日志。
147 java  logging 

3
重新登录以将不同的消息记录到两个文件
我正在使用logback / slf4j进行日志记录。我想解析我的日志文件以分析一些数据,所以我不想解析一个很大的大文件(主要由调试语句组成),而是要有两个记录器实例,每个实例都记录到一个单独的文件中。一种用于分析,另一种用于通用日志记录。有谁知道使用Logback或任何其他记录器可以做到这一点吗?
146 java  logging  logback  slf4j 

11
如何使console.log显示对象的当前状态?
在没有附加组件的Safari(实际上是大多数其他浏览器)中,console.log将在最后执行状态而不是在console.log调用时的状态下显示对象。 我必须克隆对象只是为了通过它输出console.log以获取该行的对象状态。 例: var test = {a: true} console.log(test); // {a: false} test.a = false; console.log(test); // {a: false}

8
如何在线程池中使用MDC?
在我们的软件中,我们广泛使用MDC来跟踪Web请求的内容,例如会话ID和用户名。在原始线程中运行时,这可以正常工作。但是,有很多事情需要在后台处理。为此,我们使用java.concurrent.ThreadPoolExecutor和java.util.Timer类以及一些自卷式异步执行服务。所有这些服务都管理自己的线程池。 这是Logback手册关于在这样的环境中使用MDC的内容: 映射的诊断上下文的副本不能始终由工作线程从发起线程继承。当java.util.concurrent.Executors用于线程管理时,就是这种情况。例如,newCachedThreadPool方法创建ThreadPoolExecutor,并且像其他线程池代码一样,它具有复杂的线程创建逻辑。 在这种情况下,建议在将任务提交给执行者之前,在原始(主)线程上调用MDC.getCopyOfContextMap()。当任务运行时,作为第一个动作,它应调用MDC.setContextMapValues()将原始MDC值的存储副本与新的Executor托管线程相关联。 这样做很好,但是忘记添加这些呼叫非常容易,并且直到太晚之前,都没有简便的方法来识别问题。使用Log4j的唯一迹象是您在日志中丢失了MDC信息,而使用Logback则获得了陈旧的MDC信息(因为胎面池中的线程从其上运行的第一个任务继承了其MDC)。两者都是生产系统中的严重问题。 我认为我们的处境没有任何特别之处,但是我在网络上找不到太多有关此问题的信息。显然,这不是很多人反对的事情,因此必须有一种避免的方法。我们在这里做错了什么?
146 java  logging  slf4j  logback  mdc 

6
如何以编程方式更改root日志记录级别以进行注销
我有以下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> 现在,在发生特定事件时,我想以编程方式将root记录程序的级别从debug更改为error。我不能使用变量替换,这是强制性的,我必须在代码中执行此操作。 如何做呢 ?谢谢。
144 java  logging  logback 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.