jboss - 如何在 Wildfly jboss 中登录到不同的文件?
问题描述
这就是我通常在 Wildfly 中执行登录的方式。
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyClass{
private static Logger logger = LoggerFactory.getLogger(MyClass.class);
public function testLog(){
logger.info("Test1 -> this will be printed in /opt/servers/jboss/standalone/log/server.log");
}
}
现在因为MyClass
比较特殊,需要输出到不同的文件。
我如何将日志从/opt/servers/jboss/standalone/log/server.log
说/opt/servers/jboss/standalone/log/myclass.log
?
我也知道我们可以通过执行以下操作来获取标准日志的当前目录。然后我可以将它写入另一个文件,但这是最佳做法吗?
File logDir = new File(System.getProperty("jboss.server.log.dir"));
// that logDir.getAbsolutePath() will result /opt/servers/jboss/standalone/log
解决方案
您可以使用日志配置文件或创建新的文件处理程序。
要创建新的文件处理程序,您可以执行以下操作。
/subsystem=logging/file-handler=my-handler:add(file={path=myclass.log, relative-to=jboss.server.log.dir}, append=true, autoflush=true)
/subsystem=logging/logger=your.package.MyClass:add(handlers=[my-handler], level=INFO, use-parent-handlers=false)
推荐阅读
- barcode - 在某些扫描仪上扫描 PDF417 会在前面添加符号“A”
- vba - 读取 GuiTableControl 对象的一列中的字符数
- laravel - Laravel 灯塔 morphOne 突变
- single-sign-on - 将用户从 GSuite 同步到 KeyCloak
- kubernetes - 具有多个入口资源对象的 Kubernetes nginx 入口控制器
- javascript - 是否可以从 GTM 上的 dataLayer 获取用户数据?
- flutter - 将生成的模拟类注入“测试”环境
- javascript - 从 React 中的子组件更改 prop 后,等待从父组件更改 prop
- javascript - className 和 classList 的区别
- python - 在 pyspark 中的列表上应用逻辑运算符