log4j - Formatação de Log
Apache log4j fornece vários Layoutobjetos, cada um dos quais pode formatar dados de registro de acordo com vários layouts. Também é possível criar um objeto Layout que formata os dados de registro de uma forma específica do aplicativo.
Todos os objetos Layout recebem um LoggingEvent objeto do Appenderobjetos. Os objetos Layout, então, recuperam o argumento da mensagem do LoggingEvent e aplicam o ObjectRenderer apropriado para obter a representação String da mensagem.
Os Tipos de Layout
A classe de nível superior na hierarquia é a classe abstrata org.apache.log4j.Layout. Esta é a classe base para todas as outras classes de Layout na API log4j.
A classe Layout é definida como abstrata em um aplicativo, nunca usamos essa classe diretamente; em vez disso, trabalhamos com suas subclasses, que são as seguintes:
DateLayout
SimpleLayout
XMLLayout
Os Métodos de Layout
Esta classe fornece uma implementação de esqueleto de todas as operações comuns em todos os outros objetos Layout e declara dois métodos abstratos.
Sr. Não. | Métodos e Descrição |
---|---|
1 | public abstract boolean ignoresThrowable() Ele indica se as informações de registro tratam de qualquer objeto java.lang.Throwable transmitido a ele como parte do evento de registro. Se o objeto Layout manipular o objeto Throwable, o objeto Layout não o ignorará e retornará falso. |
2 | public abstract String format(LoggingEvent event) As subclasses de layout individuais implementam esse método para formatação específica de layout. |
Além desses métodos abstratos, a classe Layout fornece implementação concreta para os métodos listados abaixo:
Sr. Não. | Métodos e Descrição |
---|---|
1 | public String getContentType() Ele retorna o tipo de conteúdo usado pelos objetos Layout. A classe base retorna text / plain como o tipo de conteúdo padrão. |
2 | public String getFooter() Ele especifica as informações do rodapé da mensagem de registro. |
3 | public String getHeader() Ele especifica as informações do cabeçalho da mensagem de registro. |
Cada subclasse pode retornar informações específicas da classe, substituindo a implementação concreta desses métodos.