问题标签 [threadcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
163 浏览

exception - 我们可以在 log4net %property 中设置字符限制为 10 个字符吗?

这是我的 threadContext 异常消息属性

我想使用 log4net 获取异常消息属性的前 10 个字符。

这是 Log4net.config 中的行:

0 投票
1 回答
3632 浏览

java - Java项目中的信任边界冲突漏洞

对于下面提到的代码,我在CheckMarx 报告中得到了 Trust Boundary Violation 。

错误描述 - 方法“getResponse”从元素请求中获取用户输入。此元素的值在未经过适当清理或验证的情况下流经代码,最终存储在服务器端会话对象,在 'parseRequest' 方法中。**

代码 -

我在下一行得到 checkmarx 漏洞,因为没有经过适当的清理或验证

有人可以帮助我,如何正确清理上述行。

0 投票
1 回答
1190 浏览

c# - 在asp.net核心控制器中,为什么ExecutionContext.SuppressFlow()会抛出“AsyncFlowControl对象必须在创建它的线程上使用”。

我试图抑制跨异步线程的执行上下文的流动。我写了下面的代码,但它抛出了一个错误 -

当我通过代码进行调试时,不会引发错误。它仅在我不调试时发生。

示例代码:

我是不是走错了路?

0 投票
1 回答
50 浏览

java - 如何在日志文本上将 OrderId 显示为 Log4j 模式布局

我无法让日志消息以正确的方式显示。我正在使用这个 Log4J 模式布局:

我想看到如下输出:

ORDERID: 123 测试上下文

但这是我得到的输出:

ORDERID : ${ctx:ORDERID} 测试上下文

这是生成日志消息的代码:

0 投票
1 回答
164 浏览

java - 如何使请求标头在 rxJava 线程中可用?在新线程中注入 HttpServletRequest 不起作用

我正在开发一个 Spring Boot 应用程序,需要在 RxJava 线程中读取请求标头,但是由于新线程,注入 HttpServletRequest 不起作用。不需要将标头从当前线程传递到新线程。

代码流:控制器->服务->每个订单->(此代码产生新线程)Observable.just(invokeOrderService(orderNumber))->获取请求标头之类的httpRequest.getHeader("isApp")

我对方法一无所知。我所需要的只是在新创建的线程中可用的标题信息。

0 投票
0 回答
242 浏览

java - 如何在 log4j2 中创建自定义异步 Appender?

我正在我的应用程序中从 log4j 迁移到 log4j2。

我能够在 log4j 中扩展 AsyncAppender,但这在 log4j2 中不再可用。

我想要做的是创建自己的 AsyncAppender 并覆盖 append 方法。

你知道这是否可能吗?如果有人有任何建议,我将不胜感激

0 投票
1 回答
270 浏览

java - 即使在使用 Vert.x 和 Log4j2 将“isThreadContextMapInheritable”设置为 true 后也没有获取 ThreadContext 值

我正在使用 Vertx 和 Log4j2。

这是代码Remote.java

这是我的代码StartVerticle.java

当我运行上面的代码时,我的输出是

您能帮我获得以下输出吗?

我还打印了线程名称以供参考。在不使用 Vertx 的情况下,我可以ThreadContext在设置isThreadContextMapInheritabletrue.

0 投票
0 回答
67 浏览

java - log4j2 - 一个附加程序可以“同时”管理多个文件吗?

我想创建一个附加程序,使用 MDC / ThreadContext 将每个用户操作记录到每个用户的不同文件中,以保存用户名并在以后使用它来命名文件。

因此,对于 User1,我们将拥有“web_debug_user1_yyyy-MM-DD”,对于 user2,我们将拥有“web_debug_user2_yyyy-MM-DD”。

这些用户可以同时登录应用程序。

这是配置的相关部分:

这是自定义策略 UserLoggingTriggeringPolicy,每次启动用户事件时都会在管理器上设置 fileName 属性。

问题是,更改 FileManager 的 FileName 似乎还不够,因为它仍然指向相同的 OutputStream,因此将所有不同的用户消息记录到属于应用程序中第一个登录用户的文件中。经过一些调试发现OutputStream只在两种情况下发生变化:FileManager的初始化和RollOver。然后在当前用户更改时强制在自定义策略中进行翻转,但最终在每次滚动后创建一个新文件,而不是写入以前存在的文件,因此在 10 分钟内有 20-30 个不同的文件。

所以问题是(是):有没有办法让附加程序使用以前的文件,比如说“回滚”,而不仅仅是创建一个新文件?

我的方法错了吗?

谢谢。

0 投票
1 回答
58 浏览

log4j2 - 如何在 log4j2.xml 配置中使用 armeria 的 RequestContext 自定义属性?

我正在log4j2 2.14.0使用armeria 1.3.0. 根据 armeria 文档,我可以看到RequestContext custom atrributes可以使用com.linecorp.armeria.common.logback.RequestContextExportingAppenderlogback 配置导出。因此,我尝试在 log4j2.xml 中对其进行配置,但没有成功。有什么方法可以使用属性来设置%X{some_value}log4j2.xml 吗?或者是否可以将 ThreadContext(如 MDC)与 armeria 一起使用?

0 投票
0 回答
96 浏览

kotlin - ThreadLocal/CoroutineContext 桥接差距

我想根据应用程序在不同线程/协程中执行的工作类型,在线程级别或协程级别维护一个对象。有没有办法做到这一点?

假设为简单起见,我可以编写一个 Spring Boot 应用程序,其中许多事情都基于线程发生,并且只有某些代码部分使用协程来利用它们的好处。如何根据当前执行维护状态?有没有办法做到这一点?