Log4j dans SpringBoot

Je suis novice sur le Printemps de Démarrage et de travailler sur une simple log4j de démonstration à l'aide de Printemps de Démarrage. J'ai utilisé le gradle projet et printemps-amorçage-starter-web et groovy dépendances. Ci-dessous mon log4j.fichier de propriétés de contenu. Tout ce que je besoin est , lorsque j'exécute le programme principal et de l'utilisation de l'annotation @Log4J je dois être en mesure de sauver le journal.perflog à un fichier dans mon local (windows).

log4j.rootLogger = WARN , stdout, cslLog

log4j.logger.perfLog = WARN, perfLog
log4j.additivity.perfLog = false

log4j.appender.perfLog = org.apache.log4j.RollingFileAppender
log4j.appender.perfLog.File = ${GRAILS_HOME}/logs/csl.log
log4j.appender.perfLog.Append = true
log4j.appender.perfLog.ImmediateFlush = true

log4j.appender.perfLog.MaxFileSize=200MB
log4j.appender.perfLog.MaxBackupIndex = 1

Mon exemple groovy Classe:

package sample.actuator.log4j

import groovy.util.logging.Log4j;
import org.apache.log4j.Logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Log4j
@RestController
@EnableAutoConfiguration
class HelloGroovy {

    static Logger perfLog = Logger.getLogger("perfLog")

    @RequestMapping("/logger")
    String logger() {
        log.info "created a new item named  identifier"
        log.error "created a new item named  identifier"
        log.warn "created a new item named  identifier"

        System.out.println("Test")
        perfLog.trace("Test")
        return "Logger Called."

    }

    static main(args) {

        SpringApplication.run(this, args)
    }

}

Tous les obtenir, ce sont les 3 premières lignes d'impression dans la console, puis "Test" , le message que rien ne s'affiche dans le fichier je l'ai mentionné dans le log4j.les propriétés.

Mon build.gradle fichier

buildscript {
    repositories {
            maven {
                url 'http://artifactory.myorg.com:8081/artifactory/plugins-release'
            }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.5.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'

jar {
    baseName = 'log4jOwn'
}

repositories {
            maven {
                url 'http://artifactory.myorg.com:8081/artifactory/plugins-release'
            }
    }

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.3.3'
    compile 'org.springframework.boot:spring-boot-starter-web'

    testCompile("junit:junit")
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}
Vous devez montrer votre config. Sans log4j explicitement dans le classpath de votre log4j.properties sera ignoré.
Oui, j'ai ajouté le dossier de ressources comme un dossier source et il a le log4j.propriétés en elle.

OriginalL'auteur Vinodh Thiagarajan | 2014-08-28