Migrando para log4j2
A classe YFCLogCategory, que é usada principalmente para registro pelo código do Sterling™ Order Management System e também pelo código do cliente, não estende org.apache.log4j.Category, que é uma classe log4j 1.x. Seu código customizado será impactado com esta liberação se você estiver usando métodos que não são definidos pela classe YFCLogCategory Os métodos que não são definidos pela classe YFCLogCategory e estão disponíveis na classe-pai org.apache.log4j.Category não são suportados.
YFCLogCategory para assegurar que não ocorram falhas de tempo de execução do código customizado No entanto, esses são métodos simulados e podem ser removidos em uma liberação posteriorpublic void log(Object level, Object obj)public void setLevel(Object level)public boolean isEnabledFor(Object level)
O método YFCLogCategory.getLogger() não é suportado.. Em vez disso, use o método YFCLogCategory.instance(Class.class)
private static YFCLogCategory logger = YFCLogCategory.instance(MyClassName.class);- Se você estiver convertendo a instância do
YFCLogCategoryparaorg.apache.log4j.Categoryouorg.apache.log4j.Logger, ela não será suportada Converter uma instância deYFCLogCategoryparaorg.apache.log4j.Loggerouorg.apache.log4j.Categorynão é compilado ao gravar novo código. Para o código customizado existente que possui esses casts, o código customizado encontra oClassCastExceptionno tempo de execução Por exemplo, a linha #2 e #3 do padrão de código a seguir não são suportadas.YFCLogCategory LOGGER = YFCLogCategory.instance(MyClass.class.getName()); org.apache.log4j.Logger apLogger=(org.apache.log4j.Logger)LOGGER; // Not supported org.apache.log4j.Category apCategory=(org.apache.log4j.Category)LOGGER; // Not supported - Se você estiver chamando
log(Level level, Object), substitua-o por métodos específicos como error (Object) ou debug (Object) que são fornecidos pela classeYFCLogCategory. - Se você estiver chamando
setLevel(Level level), deverá excluí-lo. Não é possível mudar níveis de criadores de logs no log4j2 porque ele não é suportado na API log4j2 . O gerenciamento adicional dos níveis de log é feito pelo código e você deve criar rastreios para partes específicas do código para as quais deseja a criação de log estendida. - Se estiver chamando
isEnabledFor(Level level), substitua-o por métodos específicos, como isInfoEnabled ou isTimerEnabled.
Descontinuação dos frascos de log4j-1.x
Os log4j-1.x jars não são suportados no sistema IBM Sterling Order Management como parte do pacote de personalização do cliente.
Descontinuação dos jars de ponte log4j1 para log4j2
Os potes de ponte log4j1 a log4j2 não são suportados. Por exemplo, adicionar log4j-1.2-api-2.17.1.jar a um pacote de personalização não é compatível.
Você deve atualizar seu código personalizado ou atualizar quaisquer jars de terceiros que ainda dependam de log4j-1.x. Log4j-1.x está obsoleto e não é mais suportado pelo Apache. Se você tiver bibliotecas de terceiros que ainda exigem log4j 1.x, provavelmente se trata de bibliotecas desatualizadas. Você deve migrar para a versão mais recente dessas bibliotecas de terceiros ou procurar alternativas mais seguras se as bibliotecas forem atualizadas para usar log4j2.