W projekcie mam następujący na ścieżce klasy:Logback FileAppender - plik logu jest pusty?
Bundle-ClassPath: .,
lib/logback-classic.jar,
lib/logback-core.jar,
lib/slf4j-api.jar
a następnym w build.properties:
bin.includes = META-INF/,\
.,\
plugin.xml,\
lib/logback-classic.jar,\
lib/logback-core.jar,\
lib/slf4j-api.jar,\
logback.xml
w korzeniu Mam też plik logback.xml zawierający:
<!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> -->
<!-- <layout class="ch.qos.logback.classic.PatternLayout"> -->
<!-- <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n -->
<!-- </Pattern> -->
<!-- </layout> -->
<!-- </appender> -->
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<File>logs\\logfile.log</File>
<Append>true</Append>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n
</Pattern>
</layout>
</appender>
</configuration>
W klasie, która pobiera wykonywane na Uruchomienie mam:
private static final Logger logger = LoggerFactory.getLogger(Application.class.getName());
public Object start(IApplicationContext context) {
logger.debug("debug string");
logger.warn("warn string");
logger.error("error string");
Kiedy zbudować i uruchomić mojej aplikacji loguje plików \ Plikdziennika.log tworzony jest w katalogu głównym mojej aplikacji, ale jego puste. Jeśli używam konsoli ConsoleAppender i włączam konsolę, działa dobrze.
Dlaczego funkcja logback nie zapisuje do pliku dziennika podczas korzystania z FileAppendera?
Superb odpowiedź Dzięki Girish! – sunleo