:: Hora atrasada :: Horário de Verão + Java + Brasil = PAU

7 respostas
C

Olá a todos…

Estou tendo um problema com a hora das informações que o Log4j está salvando nos arquivos…

Estou usando dentro do log a data do ocorrido, mas ela está atrasada em 1 hora.

Procurei na API e achei um timezone, mas não consegui fazer esses parametros do layout funcionarem, alguem tem alguma dica ou já passou por isso?

Segue meu arquivo de configuração:

log4j.threshold=ALL
log4j.rootLogger=ALL, ErrorAppender

#ARQUIVO DE LOG PARA ERROR
log4j.appender.ErrorAppender=org.apache.log4j.RollingFileAppender
log4j.appender.ErrorAppender.File=C:/sistema/log/logErrosWeb.txt
log4j.appender.ErrorAppender.MaxFileSize=1000KB
log4j.appender.ErrorAppender.MaxBackupIndex=0
log4j.appender.ErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorAppender.layout.ConversionPattern=%n%n | %d{dd MMM yyyy - HH:mm:ss} |%n |   -- %p --    |%n%m%n
log4j.appender.ErrorAppender.Threshold=ERROR

7 Respostas

P

eu tive um problema parecido, mas não era no LOG4J o problema…e sim na regra do horario de verão da JVM…

crie uma classe simples q faça isso:

java.util.Date dataAtual = new java.util.Date();
system.out.println(dataAtual);

verifica se a data q imprime esta com o mesmo problema q o LOG4J.

se tiver, o seu problema eh o mesmo q o meu…para resolver, nesse link tem as intruções de como fazer:
http://www.javafree.org/javabb/viewtopic.jbb?t=12070

ja te adianto q nao eh simples de fazer, pois vc vai ter q recompilar uma parte do SDK, aqui a gente conseguiu fazer, muito cuidado pra fazer isso…eu indico a fazer num ambiente de teste, longe ate da sua maquina de desenvolvimento, hehehehe

maaaaassss…pode ser simplesmente um problema de timezone, faz o teste do new Date pra ver onde ta o problema

espero ter ajudado…

flw

C

Vlw cara…

vou ver isso já!

Já adiantando, estou subindo o tomcar com parâmetro:

-Duser.timezone=GMT-3
P

entao, setar a timezone não adianta muito…

pq a regra q esta escrita na SDK q esta errada…os dias de inicio e fim do horario de verão estão errados…

aqui a gente alterou de 4 anos atras ateh hj, pq algumas consultas antigas usam new Date()

naquele link q eu passei explica tudo…

flw

C

É cara, pelo visto é isso mesmo…

Lendo e conversando vi que o problema é com o horário de verão, conversei com outro implementador aqui do meu trabalho, ele teve problema com isso, pois o horário de verão estava demorando 10 dias para entrar.

Ele fez algo do tipo que tu está fazendo em seu tutorial.

Vou dar uma olhada, se consigo setar o Timezone na mão para o sistema utilizar!

Valeu mesmo pela dica, deu um ótimo rumo aqui!

Rafael Ferreira

C

Pedrão, tu jah olhou isso aqui??

JDK US DST Timezone Update Tool - 1.0
http://java.sun.com/javase/downloads/index.jsp

P

boa dica!

não sei quando isso foi disponibilizado, mas a gente não achou quando tivemos q resolver o problema…

segue as instruções la da sun, q eh sempre mais seguro, e verifica se eles corrigiram o horario de verão aqui do Brasil tb…

se não rolar segue aquele tutorial q eu te passei…

flw

C

Voltando ao problema…

Aquele update da SUN não resolveu em nada…

Pedrão, da uma olhada nisso aqui:

abraços

Criado 3 de janeiro de 2007
Ultima resposta 4 de jan. de 2007
Respostas 7
Participantes 2