logging 相关问题

计算机数据记录是在计算机程序或计算机系统中记录事件的过程,通常具有一定的范围,以便提供可用于理解系统活动和诊断问题的审计跟踪。除此标记外,请务必包含适当的软件或硬件标记。

Python 中 JSON 日志的旋转文件处理程序

我正在使用 Python 保存 JSON 日志。下面是代码: log_file = 'app_log.json' log_json = 字典() log_json["数据"] = {} log_json['数据']['键1'] = "值1" 记录...

回答 3 投票 0

Azure Functions - 日志记录在本地无法正常工作

我有一个用.Net 8编写的简单的点网隔离的Azure函数,它有1个Http触发函数。我有另一个自定义数据库记录器,它被添加到此函数中以启用数据库日志记录....

回答 1 投票 0

如何仅针对特定源将 syslog-ng 中的 log_message_size() 增加到 8K 以上并覆盖默认值

根据文档,Syslog-ng 默认情况下允许每条消息的长度为 8192 字节。当大小超过 8K 时,Syslog 将消息分成两部分。 当我全局应用 log_msg_size() 参数时,

回答 2 投票 0

在 Visual Studio 中记录 DefaultAzureCredential

我正在尝试在 Visual Studio 中为 DefaultAzureCredential 进行日志记录。我设置了日志记录,但是当我获得 DefaultAzureCredential 令牌时,Visual Studio 中没有输出任何日志记录...

回答 2 投票 0

如何完全关闭sqlalchemy注销

sqlalchemy 保持登录控制台,即使我有以下代码 导入日志记录 记录器=logging.getLogger() 记录器.disabled = True 如何完全关闭sqlalchemy的日志记录?

回答 4 投票 0

在 logback.xml 中屏蔽所有请求和响应

我正在使用 logback.xml 来屏蔽敏感数据以进行日志记录,效果很好 我正在使用 logback.xml 来屏蔽敏感数据以进行日志记录,效果很好 <appender name="DATA_MASK" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> <layout class="com.masking.MaskingPatternLayout"> <maskPattern>\"creditCardNumber\"\s*:\s*\"(.*?)\"</maskPattern> <!-- questionCode JSON pattern --> <Pattern>${logback.detailedroot}</Pattern> </layout> </encoder> </appender> 但问题是,当我在 logback.xml 中打开请求-响应配置时,这个自定义 MaskingPatternLayout 无法捕获请求-响应日志 <logger name="Request" level="DEBUG" /> <logger name="Response" level="DEBUG" /> 众所周知,上面的两个配置帮助我们将所有请求和响应捕获为日志。然而,掩蔽模式对它们不起作用。 无论如何处理这些请求响应日志来屏蔽。 我理解你的问题的方式是外部配置的记录器不会利用你的掩码。确保正在使用的记录器利用您的掩码的最佳方法是显式配置它们。 您可以使用 Baeldung 教程 配置您自己的面向方面 (AOP) 请求/响应日志记录,并让它使用您已指定的附加程序或您配置的新附加程序。 我正在运行的如下 @Aspect @Component @Order(4) public class RestLoggerAspect { Logger logger = LoggerFactory.getLogger(RestLoggerAspect.class); String before = "Incoming :: "; String after = "Completed :: "; @Before("execution(@(@org.springframework.web.bind.annotation.RequestMapping *) * *(..))") public void log(JoinPoint jp){ Signature signature = jp.getSignature(); // who is called "class method" if(logger.isDebugEnabled()){ logger.debug(before + ((Signature) signature).toShortString() + " : " + joinArgs(jp)); } else { logger.info(before + ((Signature) signature).toShortString()); } } @AfterReturning( pointcut = "execution(@(@org.springframework.web.bind.annotation.RequestMapping *) * *(..))" , returning= "retVal") public void methodLog(JoinPoint jp, Object retVal){ String methodCall = jp.getSignature().toShortString() ; if(logger.isDebugEnabled()){ String logString = after + methodCall + " [ args = " +joinArgs(jp) + " ]"; if (retVal != null) { logString += " return = " + prettify(retVal); } logger.debug(logString); } else { logger.info(after + methodCall); } } private String joinArgs(JoinPoint jp){ return Arrays.stream(jp.getArgs()) .map(t -> t != null ? prettify(t) : "null") .collect(Collectors.joining(", ")); } private String prettify(Object object){ ObjectMapper mapper = new ObjectMapper(); String jsonStr = null; try { jsonStr = String.valueOf(object.getClass()); jsonStr += "=" + mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object); } catch (JsonProcessingException e) { jsonStr = object.toString(); } return jsonStr; } } 此实现的漂亮打印会将请求/响应转储为多行,这可能不是您正在寻找的内容,但您可以自己删除该部分。这里重要的部分是 @Before 方法允许您访问请求并记录它,在我的例子中,只有当我的 AspectLogger 启用了调试时才可以。 @AfterReturning 位允许您访问响应。我为这些定义的模式在使用 RequestMapping 注释时捕获,例如 @GetMapping、@PostMapping 或 @DeleteMapping。 此处的 joinArgs 函数将连接提供给该方法的所有参数,无论数量如何。

回答 1 投票 0

用于记录到 logcat 的 C API

如果我有一个用 C 编写并使用 Android NDK 编译的 ELF 二进制文件,是否有一个用于记录消息的 API,以便它们显示在 logcat 中?

回答 1 投票 0

如何从Azure机器人获取聊天机器人消息日志

目前我有一个 Azure 机器人(echo bot(基于 python Azure 机器人 farmwork)),它在 Teams 频道和 Web 测试中完美运行。 尝试从日志中查询没有结果,应用程序洞察是

回答 1 投票 0

SonarQube 的记录器配置安全警告

在微服务中实现日志记录功能后,我通过 SonarQube 代码检查发送了代码。 SonarQube 不断警告我有关记录器的安全问题。我尝试了几件事...

回答 1 投票 0

在 Blazor UI 中显示未捕获异常的详细信息

我们有一位客户正在使用自定义浏览器,这不允许他们打开控制台来查看记录的错误消息。不幸的是,我们无法访问他们的系统,所以我们需要......

回答 1 投票 0

在 Blazor UI 中显示任何异常的详细信息

我们有一位客户正在使用自定义浏览器,这不允许他们打开控制台来查看记录的错误消息。不幸的是,我们无法访问他们的系统,所以我们需要......

回答 1 投票 0

如何记录脚本的输出

我想将 python 文件的输出记录到 txt 中。我也想在终端上看到它。 我尝试使用 sys.stdout,但它仍然没有终端输出。为了记录它,我打开我的日志......

回答 2 投票 0

使用 logback 滚动短期 Java 应用程序的日志

我为我的一个批处理任务开发了一个Java Springboot应用程序。我将使用该应用程序的 jar 和 shell 脚本。 Shell 脚本将手动执行...

回答 1 投票 0

不知何故看到Guidewire的查询API发送到服务器的SQL查询?

出于调试目的,我想查看我的 Guidewire 应用程序发送到 SQL 服务器的 SQL 脚本。 是否有一些 GW 注释,或者其他方式来告诉 Guidewire 的框架,例如,

回答 1 投票 0

带有回调函数的Python记录器

有没有办法配置Python记录器来调用自定义函数并在记录时向其传递日志消息?

回答 1 投票 0

arduino“编译错误:'class DateTime'没有名为'get'的成员”

我有 arduino uno r3 和 adafruit 数据记录器屏蔽 (https://learn.adafruit.com/adafruit-data-logger-shield/using-the-real-time-clock-3)。 下面是我的代码,但是当我尝试编译时我...

回答 1 投票 0

如何查看Guidewire的查询API发送到服务器的SQL查询?

出于调试目的,我想查看我的 Guidewire 应用程序发送到 SQL 服务器的 SQL 脚本。 是否有一些 GW 注释,或者其他方式来告诉 Guidewire 的框架,例如,

回答 1 投票 0

是否可以将装饰器应用于Python中的一行?

正如您现在所看到的,装饰器的常见用法是: @日志 def 函数(...) 实际上以 func 作为参数返回一个以 func 作为参数的函数,例如: def 日志(函数): ...

回答 4 投票 0

设置日志消息的时区

有没有办法在Spring Boot中配置logback以与系统时区不同的时区输出日志消息的本地时间? 我想通过配置来设置它(即

回答 2 投票 0

Loki/Promtail - 如何设置自己的 scrape_configs?

我刚刚使用 helm 安装了 Loki/Promtail,如下所示: helm 仓库添加 grafana https://grafana.github.io/helm-charts 舵回购更新 helm 升级 --安装 loki grafana/loki-stack --创建命名空间 --

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.