默认情况下,是否为 Apache Velocity v2.0 创建了 velocity.log?

Is velocity.log created for Apache Velocity v2.0 by default?

提问人:sraipuria 提问时间:7/6/2023 更新时间:7/7/2023 访问量:27

问:

由于在Apache Velocity v2.0中,我们已经迁移到SLF4J,如何处理无服务器调用的velocity.log的创建?例如,如果 AWS lambda 函数使用 VTL 调用 java 代码,则在运行时 speedocity,.log 将无法创建。会抛出异常吗?我们需要禁止创建速度.log吗?还是速度 .log 创建不会发生? 之前我们使用 ve.setProperty(Velocity.RUNTIME_LOG_LOGSYSTEM_CLASS,NullLogChute.class.getName()); 以禁止创建日志文件。

当前代码 - ve.setProperty(Velocity.RESOURCE_LOADER,“类路径”); ve.setProperty(“classpath.resource.loader.class”, ClasspathResourceLoader.class.getName()); ve.init();

java aws-lambda 速度 vtl apache-velocity

评论


答:

0赞 Claude Brisson 7/7/2023 #1

切换到 SLF4J 意味着它不再是负责创建日志文件的 Velocity。Velocity 仅依赖于 SLF4J 日志记录 API,该 API 希望在类路径中找到记录器实现,请参阅 Velocity 日志记录文档

创建日志文件的最简单方法是将 slf4j-simple 添加到类路径中,您可以使用系统属性对其进行配置。

评论

0赞 sraipuria 7/10/2023
感谢您的回复!我确实对用于 CloudWatch 监控的现有应用程序进行了@Slf4j注释。是否仍会创建新文件?或者它是否会继续仅在 Cloudwatch 中显示日志。