如何在Adobe CQ5项目中使用和配置回溯?

问题描述 投票:2回答:1

我是CQ5的新手。我在CQ开始了我的第一个项目,我希望将项目组件,服务和servlet(在bundle中)的任何异常和调试信息写入crx-repo(... \ crx-quickstart \ logs)中的日志文件。

我想在我的项目中使用slf4j和logback实现。

我试过以下步骤:

  1. 在项目的pom.xml中添加依赖项 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.3</version> </dependency>
  2. 将带有配置(记录器和追加器)的logback.xml添加到项目的捆绑包资源包中。
  3. 尝试在服务中实例化新的记录器(例如): import org.slf4j.Logger; import org.slf4j.LoggerFactory; ..... @Component(metatype = true, label = "Some", description = "Sone service" , immediate = true) @Service(SomeService.class) public class SomeService { private final Logger logger = LoggerFactory.getLogger(MyDao.class); ..... logger.debug("debug"); logger.info("info"); logger.error("error"); ...... }

这些步骤(当然不是工作)我举了一个例子,因为我不知道在Adobe CQ5中如何真正使用logback。有什么建议?我将不胜感激任何帮助!

java cq5 logback aem
1个回答
0
投票

CQ使用其默认配置登录到crx-quickstart/logs/error.log,底层的Apache Sling框架提供了必要的桥接,因此您只需要获取slf4j Logger并写入。

你的SomeService示例的Java代码对我来说是正确的,但是在pom中你只需要slf4j-api依赖,范围为provided,因为API和实现包由CQ运行时提供。

您还可以查看像Slingbucks这样的Sling示例,如果安装在默认的CQ实例上,它将记录到error.log

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