Duvidas sobre log4j

4 respostas
D

Ola pessoal,
minha primeira msg aki no forum

o meu problema eh o seguinte,

tenho um arquivo chamado log4j.properties com o seguinte conteudo:

log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.teste=WARN

e coloquei no classpath do meu projeto.

criei uma classe pra testar o meu arquivo

package teste;

import org.apache.log4j.*;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class TestProp {
    static Logger logger = Logger.getLogger(TestProp.class.getName());
    
    public static void main(String[] args) {
        PropertyConfigurator.configure(args[0]);

        logger.info("Entering application.");
    }
}

eu vi q quando queremos usar o arquivo properties, devemos usar o PropertyConfigurator em vez do BasicConfigurator.

bom… o erro eh o seguinte:

init:
deps-jar:
compile-single:
run-single:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at teste.TestProp.main(TestProp.java:12)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

acho q eh nesse args[0]… nao tenho certeza, alguem poderia me ajudar por favor ?!

uso o netbeans e o log4j na versao 1.2.13

desde ja agradeco a atencao de todos
quem tiver um exemplo legal me mandem pro favor

4 Respostas

G

Como você está passando o parâmetro na posição 0 do args[] ??

D

ah… desculpa pela minha ignorancia hehehe…
sou meio q iniciante, ai vi q no args[0] colocamos onde se encontra o arquivo log4j.properties

mesmo assim valeu pessoal

G

Sem problema e seja bem vindo ao Portal Java !!! :mrgreen:

D

aproveitando…

um exemplo de um arquivo log4j:

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

a primeira linha eh a unica q nao entendi:

log4j.rootLogger=debug, stdout, R

esse debug restringi q so vou usar o nivel debug no meu log? o stdout e o R eu entendi

Criado 16 de maio de 2006
Ultima resposta 16 de mai. de 2006
Respostas 4
Participantes 2