如何将 Velocity 与 Log4j2 集成?

How to Integrate Velocity with Log4j2?

我有一个使用 Log4j 和 Velocity v1.7 的 Web 应用程序

这就是我集成 Log4j 和 Velocity 1.7 的方式

private static VelocityEngine velocityEngine = new VelocityEngine();

static {
    velocityEngine.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS,
            "org.apache.velocity.runtime.log.Log4JLogChute");
    velocityEngine.setProperty("runtime.log.logsystem.log4j.LOGGER",
            VelocityUtil.class.getName());
    velocityEngine.init();
}

但是在将应用程序升级到 LOG4j2 之后,出现以下异常...

  java.io.FileNotFoundException: velocity.log (Permission denied)

当我使用 LOG4J 时,这也是导致我在上面的静态块中配置 VelocityEngine 的 属性 的相同异常。

显然,没有与 Log4j2 兼容的 Log4JLogChute 等价物。

有谁知道如何实现Log4j2和Velocity的兼容。

如果将 log4j 1.x jar 替换为 log4j-1.2-api jar,它应该会开始工作。