我想使用Log4j2,我正在用系统属性设置MainVerticle,
public class MainVerticle extends AbstractVerticle
{
static {
System.setProperty( "vertx.logger-delegate-factory-class-name",
"io.vertx.core.logging.Log4j2LogDelegateFactory" );
System.setProperty( "log4j2.debug", "true" );
}
....
}
然后我从这个垂直部署了我的HttpVerticle,在HttpVerticle中,我试图使用参数化语句,但这些语句不起作用。因此,我添加了几个日志语句来显示正在使用的logger委托,以及系统属性:
public class HttpServerVerticle extends AbstractVerticle
{
private static final Logger LOGGER = LoggerFactory.getLogger( HttpServerVerticle.class );
@Override
public void start() throws Exception
{
LOGGER.info( System.getProperty( "vertx.logger-delegate-factory-class-name" ) );
LOGGER.info( LOGGER.getDelegate().getClass().getName() );
....
下面,在传入消息的处理程序中,我使用的是:
LOGGER.info( "Chat message received: {}" + message.body(), message.body() );
请注意,我使用连接来添加message.body(),以证明消息不是空字符串。
这些日志语句的输出为:
[INFO] Sep 24, 2018 2:46:09 AM ca.LinkEdTutoring.chat.http.HttpServerVerticle
[INFO] INFO: io.vertx.core.logging.Log4j2LogDelegateFactory
[INFO] Sep 24, 2018 2:46:09 AM ca.LinkEdTutoring.chat.http.HttpServerVerticle
[INFO] INFO: io.vertx.core.logging.JULLogDelegate
对于字母“b”的传入消息:
[INFO] INFO: Chat message received: {}b
我试过在pom中设置系统属性。xml文件,并在命令行中使用-D参数。
这是与vert. x 3.5.3
对我忘记做什么有什么想法吗?
================
编辑:从评论线索中捕捉要点。
如果使用命令行来启动,可以用-Dvertx.logger-委托-工厂-类-名称=io.vertx.core.logging.Log4j2Log委托工厂
来配置,这是最简单的。
当然,您也可以通过系统直接在代码中进行设置。setProperty,它与-D设置相同,但必须在LoggerFactory初始化之前完成。显然,Verticle子类中的代码必须在Vertx初始化成功后执行。LoggerFactory已经初始化。
我找过了,但什么也没找到。我有一个实体类,如下所示: 在application.properties中,我有以下配置: 我们将感谢您的帮助
问题内容: 我使用了tomcat,并简单地覆盖了默认的日志系统。如何在我的Spring应用程序中启用Wildfly上的Logback日志记录? 我在tomcat上的Logback.xml 问题答案: 您可以使用logback来配置应用程序中的日志记录。您不能使用logback为服务器配置日志记录。 要在配置中使用logback,您需要将更改为false或创建一个不包含子系统的。您还需要在部署中包括
我对log4j2比较陌生。当前,我有以下配置文件: 如果我通过静态记录器在这两个类Consoleain和ClientMain中记录一些东西 而且 他们总是使用根记录器的附加器和级别。如果根记录器的级别是“错误”,那么它永远不会显示任何调试级别的日志输出,即使单个记录器的级别是调试。而且,它总是追加到根记录器中指定的日志文件,而不是类的记录器中指定的日志文件。 所以,根记录器似乎以某种方式覆盖了所有
我有helm chart设置,其中应用程序的helm chart被打包并推送到nexus repo考虑 将其添加到helm中,使用 一旦回购被添加,我可以看到图表 需要一些关于如何获得通过文件格式的覆盖值的输入。因为重写值可以是动态的。在一个环境中,它可以是一个变量,在另一个环境中,有10个变量需要被覆盖
我正在尝试使用FFMPEG4Android对视频进行水印。我从这里使用android市场上的应用程序。 使用的命令是