# Problem with slf4j logging

**URL:** <https://discuss.gradle.org/t/problem-with-slf4j-logging/7048>\
**Category:** Old Forum Archive\
**Created:** [December 7, 2012, 10:16am UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048 "2012-12-07T10:16:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![u1234](https://avatars.discourse-cdn.com/v4/letter/u/2acd7d/32.png) [@u1234](https://discuss.gradle.org/u/u1234)\
**Post date:** [December 7, 2012, 10:16am UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/1 "2012-12-07T10:16:00Z")

</div>

I have written a custom gradle plugin with some custom gradle tasks that I can apply in my other project with:

```gradle
apply plugin: 'myplugin'

```

In the tasks I would like to start using slf4j logging so I have done:

```gradle
import org.gradle.api.DefaultTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
  public class MyTask extends DefaultTask {
  Logger logger = LoggerFactory.getLogger(MyTask.class);
     @TaskAction
  void mytask() {
    logger.error("logback-error");
    logger.warn("logback-warn");
    logger.info("logback-info");

```

I have the following logback.xml in the root of the myplugin project with the above task:

```gradle
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
  </appender>
    <root level="DEBUG">
              <appender-ref ref="STDOUT" />
  </root>
      </configuration>

```

But when I apply the ‘myplugin’ in another project and run the task: 'MyTask ’ it simply prints:

```gradle
logback-error
:clean
logback-warn

```

Why are the messages not formatted according to the logback.xml file?

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [December 7, 2012, 4:17pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/2 "2012-12-07T16:17:00Z")

</div>

The Gradle logging system doesn’t support logback.xml and similar logging configuration files. What you see solely depends on the log level set when running Gradle (or configured in the build script).

---

<div class="post-metadata">

**Author:** ![u1234](https://avatars.discourse-cdn.com/v4/letter/u/2acd7d/32.png) [@u1234](https://discuss.gradle.org/u/u1234)\
**Post date:** [December 7, 2012, 4:30pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/3 "2012-12-07T16:30:00Z")

</div>

Ok so doing log messages in custom task/plugins needs to be done using system.out?

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [December 7, 2012, 4:38pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/4 "2012-12-07T16:38:00Z")

</div>

No, just use the appropriate log level. Printing to system out is the same as logging on level ‘org.gradle.api.logging.LogLevel.QUIET’.

---

<div class="post-metadata">

**Author:** ![u1234](https://avatars.discourse-cdn.com/v4/letter/u/2acd7d/32.png) [@u1234](https://discuss.gradle.org/u/u1234)\
**Post date:** [December 7, 2012, 7:26pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/5 "2012-12-07T19:26:00Z")

</div>

Hm I am a bit confused, The documentation says it uses slf4j:

[http://gradle.org/docs/current/userguide/logging.html](http://gradle.org/docs/current/userguide/logging.html)

and looking into the lib folder of gradle 1.3 it contains logback and slf4j. So has gradle been updated to use slf4j?

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [December 7, 2012, 7:42pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/6 "2012-12-07T19:42:00Z")

</div>

SLF4J is the API, and logback the implementation.

---

<div class="post-metadata">

**Author:** ![u1234](https://avatars.discourse-cdn.com/v4/letter/u/2acd7d/32.png) [@u1234](https://discuss.gradle.org/u/u1234)\
**Post date:** [December 7, 2012, 8:37pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/7 "2012-12-07T20:37:00Z")

</div>

Ah misread your post, it was only that the logback.xml was not supported. I am now using :

```gradle
org.gradle.api.logging.Logger

```

to get access to the slf4j methods+ “quiet(message)”.

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [December 7, 2012, 9:06pm UTC](https://discuss.gradle.org/t/problem-with-slf4j-logging/7048/8 "2012-12-07T21:06:00Z")

</div>

If you wish to leverage the Gradle-provided log levels, that’s the way to go.
