当前位置: 首页 > 面试题库 >

在Gorilla Handler中转到日志线程ID

沈成天
2023-03-14
问题内容

thread idhtml" target="_blank">登录内部时,Gorilla Handlers如何获取处理程序正在处理的http请求的或任何其他唯一ID ?
在Java中,当Tomcat或其他容器处理多个HTTP请求时,线程ID有助于跟踪相应HTTP请求处理的所有日志消息。
等价于Go什么?给定使用Gorilla库开发的Rest API ,如何在处理程序处理中跟踪特定http请求的所有日志语句?


问题答案:

根据https://groups.google.com/forum/#!searchin/golang-
nuts/Logging

$ 20http $ 20thread / golang-nuts / vDNEH3_vMXQ / uyqGEwdchzgJ,ThreadLocalGo
不能实现这一概念。

在您需要记录日志的每个地方,都需要传递http
Request实例,以便可以检索与请求关联的上下文,并且可以从该上下文中获取请求的唯一ID。但是将Request实例传递给所有层/方法并不实际。



 类似资料:
  • 问题内容: 我有一个带有log4j的Struts应用程序,用于显示有关应用程序的信息。 格式化日志输出的模式如下: 我需要在日志中显示 线程ID 而不是 线程名称 。显示线程名称的转换字符为%t。我没有在log4j文档中看到获得它的方法。 谁能帮我?? 问题答案: 这是可能的,但并不像仅使用一些预配置的模式那样容易。 Log4j 1.X和Log4j 2.x没有用于打印线程ID的任何预配置模式,但是

  • 正如logback的文档所说,大多数appender本质上是同步的,但是如果我们将appender包装在异步appender中,那么线程将把数据推送到BlockingQueue中,如果有,比如说X-logback线程将从BlockingQueue获取数据并将其追加。这就是我对它的基本理解。 尝试使用JstackThread转储来测试这个。但是空手返回,没有回退线程的线索。 作为参考,请检查下面lo

  • 问题内容: 我正在使用Go语言,回声框架进行开发。 我正在设计一个记录器,我想将线程ID的等价物记录到日志中,但是我不知道一个好的方法。 例如,如果同时进行多次访问的登录处理,则它在一侧成功,而在一侧失败。通过查看失败的日志无法确定。 经过检查,Go语言中的goroutine的id存在,但我不应该得到它,最初据说goroutine在同一线程中是不同的。 如何识别线程?还是有包装将它们放入日志中?

  • 那么,这种架构的瓶颈在哪里?也许推送每条带有互斥体的消息是个坏主意?

  • 主要内容:日志文件的命名规则,logrotate配置文件,把自己的日志加入日志轮替日志是重要的系统文件,记录和保存了系统中所有的重要事件。但是日志文件也需要进行定期的维护,因为日志文件是不断增长的,如果完全不进行日志维护,而任由其随意递增,那么用不了多久,我们的硬盘就会被写满。 日志维护的最主要的工作就是把旧的日志文件删除,从而腾出空间保存新的日志文件。这项工作如果靠管理员手工来完成,那其实是非常烦琐的,而且也容易忘记。那么 Linux 系统是否可以自动完成日志的轮替工作呢?

  • 3)是否有任何方法告诉journald从特定文件中获取日志? 4)如果没有,有什么变通办法吗?