Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Adobe CQ5项目中使用和配置logback?_Java_Aem_Logback - Fatal编程技术网

Java 如何在Adobe CQ5项目中使用和配置logback?

Java 如何在Adobe CQ5项目中使用和配置logback?,java,aem,logback,Java,Aem,Logback,我是CQ5的新手。我在CQ开始了我的第一个项目,我想将项目组件、服务和servlet(捆绑)的任何异常和调试信息写入crx repo(…\crx quickstart\logs)中的日志文件 我想在我的项目中使用带有logback实现的slf4j 我尝试了以下步骤: 在项目的pom.xml中添加依赖项 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api<

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

我想在我的项目中使用带有logback实现的slf4j

我尝试了以下步骤:

  • 在项目的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>
    

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

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

    您的
    SomeService
    示例的Java代码在我看来是正确的,但在pom中,您只需要
    slf4j api
    依赖项,提供范围
    ,因为api和实现包是由CQ运行时提供的

    您还可以查看一个Sling示例,例如,如果安装在默认CQ实例上,它将记录到该
    错误.log

     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");
         ......
      }