LogLevels.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.pdd.logger;
import org.apache.logging.log4j.Level;
/**
* Classe utilizzata per rappresentare i livelli di msgDiagnostico di OpenSPCoop.
*
*
* @author Poli Andrea (apoli@link.it)
* @author $Author$
* @version $Rev$, $Date$
*/
public class LogLevels {
/** Definisce la costante per il livello di log gestito in OpenSPCoop */
public static final int COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL = 10000;
/** Definisce un Livello di Severita' OFF per un messaggio Diagnostico: valore del field = MinValueInt */
public static final int SEVERITA_OFF = Integer.MIN_VALUE;
/** Definisce un Livello di Severita' FATAL per un messaggio Diagnostico: valore del field = 0 */
public static final int SEVERITA_FATAL = 0;
/** Definisce un Livello di Severita' ERROR-PROTOCOL per un messaggio Diagnostico: valore del field = 1 */
public static final int SEVERITA_ERROR_PROTOCOL = 1;
/** Definisce un Livello di Severita' ERROR-OPENSPCOOP per un messaggio Diagnostico: valore del field = 2 */
public static final int SEVERITA_ERROR_INTEGRATION = 2;
/** Definisce un Livello di Severita' INFO-PROTOCOL per un messaggio Diagnostico: valore del field = 3 */
public static final int SEVERITA_INFO_PROTOCOL = 3;
/** Definisce un Livello di Severita' INFO-INTEGRATION per un messaggio Diagnostico: valore del field = 4 */
public static final int SEVERITA_INFO_INTEGRATION = 4;
/** Definisce un Livello di Severita' DEBUG-LOW per un messaggio Diagnostico: valore del field = 5 */
public static final int SEVERITA_DEBUG_LOW = 5;
/** Definisce un Livello di Severita' DEBUG-MEDIUM per un messaggio Diagnostico: valore del field = 6 */
public static final int SEVERITA_DEBUG_MEDIUM = 6;
/** Definisce un Livello di Severita' DEBUG-HIGH per un messaggio Diagnostico: valore del field = 7 */
public static final int SEVERITA_DEBUG_HIGH = 7;
/** Definisce un Livello di Severita' ALL per un messaggio Diagnostico: valore del field = MaxValueInt */
public static final int SEVERITA_ALL = Integer.MAX_VALUE;
/** Definisce una funzione per riportare il valore, in valore OpenSPCoop */
public static int toIntervalloLog4J(int valore){
if(LogLevels.SEVERITA_OFF == valore)
return valore;
else if(LogLevels.SEVERITA_FATAL == valore)
return valore;
else if(LogLevels.SEVERITA_ERROR_PROTOCOL == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_ERROR_INTEGRATION == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_INFO_PROTOCOL == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_INFO_INTEGRATION == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_DEBUG_LOW == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_DEBUG_MEDIUM == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_DEBUG_HIGH == valore)
return valore*LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
else if(LogLevels.SEVERITA_ALL == valore)
return valore;
else
return -1;
}
public static int toIntervalloOpenSPCoop2(int valore){
int valoreOpenspcoop2_resto = (valore % LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL) ;
int valoreOpenspcoop2 = valore / LogLevels.COSTANTE_TRASFORMAZIONE_LOG4J_LEVEL;
if(valoreOpenspcoop2_resto>0){
valoreOpenspcoop2++;
}
if( valoreOpenspcoop2 > LogLevels.SEVERITA_DEBUG_HIGH) {
return LogLevels.SEVERITA_ALL;
}else if( valoreOpenspcoop2 < LogLevels.SEVERITA_FATAL) {
return LogLevels.SEVERITA_OFF;
}else {
return valoreOpenspcoop2;
}
}
/** Definisce un Livello di Severita' FATAL per un messaggio Diagnostico: valore del field = 0 */
public static final String LIVELLO_FATAL = "fatal";
/** Definisce un Livello di Severita' ERROR-PROTOCOL per un messaggio Diagnostico: valore del field = 1 */
public static final String LIVELLO_ERROR_PROTOCOL = "errorProtocol";
/** Definisce un Livello di Severita' ERROR-INTEGRATION per un messaggio Diagnostico: valore del field = 2 */
public static final String LIVELLO_ERROR_INTEGRATION = "errorIntegration";
/** Definisce un Livello di Severita' INFO-PROTOCOL per un messaggio Diagnostico: valore del field = 3 */
public static final String LIVELLO_INFO_PROTOCOL = "infoProtocol";
/** Definisce un Livello di Severita' INFO-INTEGRATION per un messaggio Diagnostico: valore del field = 4 */
public static final String LIVELLO_INFO_INTEGRATION = "infoIntegration";
/** Definisce un Livello di Severita' DEBUG-LOW per un messaggio Diagnostico: valore del field = 5 */
public static final String LIVELLO_DEBUG_LOW = "debugLow";
/** Definisce un Livello di Severita' DEBUG-MEDIUM per un messaggio Diagnostico: valore del field = 6 */
public static final String LIVELLO_DEBUG_MEDIUM = "debugMedium";
/** Definisce un Livello di Severita' DEBUG-HIGH per un messaggio Diagnostico: valore del field = 7 */
public static final String LIVELLO_DEBUG_HIGH = "debugHigh";
/** Disattiva i Log */
public static final String LIVELLO_OFF = "off";
/** Abilita qualsiasi log */
public static final String LIVELLO_ALL = "all";
/*
Standard Level intLevel
OFF 0
FATAL 100
ERROR 200
WARN 300
INFO 400
DEBUG 500
TRACE 600
ALL Integer.MAX_VALUE
*/
/** Definisce un Livello di Severita' FATAL per un messaggio Diagnostico: valore Log4J = 99 */
public static final Level LOG_LEVEL_FATAL =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_FATAL,99);
/** Definisce un Livello di Severita' ERROR per un messaggio Diagnostico: valore Log4J = 198 */
public static final Level LOG_LEVEL_ERROR_PROTOCOL =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_ERROR_PROTOCOL,198);
/** Definisce un Livello di Severita' ERROR-INTEGRATION per un messaggio Diagnostico: valore Log4J = 199 */
public static final Level LOG_LEVEL_ERROR_INTEGRATION =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_ERROR_INTEGRATION,199);
/** Definisce un Livello di Severita' INFO-PROTOCOL per un messaggio Diagnostico: valore Log4J = 398 */
public static final Level LOG_LEVEL_INFO_PROTOCOL =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_INFO_PROTOCOL,398);
/** Definisce un Livello di Severita' INFO-INTEGRATION per un messaggio Diagnostico: valore Log4J = 399 */
public static final Level LOG_LEVEL_INFO_INTEGRATION =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_INFO_INTEGRATION,399);
/** Definisce un Livello di Severita' DEBUG-LOW per un messaggio Diagnostico: valore Log4J = 498 */
public static final Level LOG_LEVEL_DEBUG_LOW =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_DEBUG_LOW,498);
/** Definisce un Livello di Severita' DEBUG-MEDIUM per un messaggio Diagnostico: valore Log4J = 499 */
public static final Level LOG_LEVEL_DEBUG_MEDIUM =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_DEBUG_MEDIUM,499);
/** Definisce un Livello di Severita' DEBUG-HIGH per un messaggio Diagnostico: valore Log4J = 599 */
public static final Level LOG_LEVEL_DEBUG_HIGH =
org.apache.logging.log4j.Level.forName(LogLevels.LIVELLO_DEBUG_HIGH,599);
/**
* Metodo che effettua la trasformazione da un livello di severita OpenSPCoop2 nell'analogo livello Log4J.
*
* @param valueLivelloOpenSPCoop Livello da trasformare
* @return Il livello di Log4J, se la trasformazione ha successo, false altrimenti.
*/
public static Level toLog4J(int valueLivelloOpenSPCoop){
if((valueLivelloOpenSPCoop < 0) || (valueLivelloOpenSPCoop > 7)){
return LogLevels.LOG_LEVEL_INFO_PROTOCOL;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_FATAL ){
return LogLevels.LOG_LEVEL_FATAL;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_ERROR_PROTOCOL ){
return LogLevels.LOG_LEVEL_ERROR_PROTOCOL;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_ERROR_INTEGRATION ){
return LogLevels.LOG_LEVEL_ERROR_INTEGRATION;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_INFO_PROTOCOL ){
return LogLevels.LOG_LEVEL_INFO_PROTOCOL;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_INFO_INTEGRATION ){
return LogLevels.LOG_LEVEL_INFO_INTEGRATION;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_DEBUG_LOW ){
return LogLevels.LOG_LEVEL_DEBUG_LOW;
} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_DEBUG_MEDIUM ){
return LogLevels.LOG_LEVEL_DEBUG_MEDIUM;
//} else if( valueLivelloOpenSPCoop == LogLevels.SEVERITA_DEBUG_HIGH ){
} else {
return LogLevels.LOG_LEVEL_DEBUG_HIGH;
}
}
/**
* Metodo che effettua la trasformazione di una stringa nell'analogo livello Log4J.
*
* @param livello Oggetto Level da ottenere
* @return L'oggetto Level di OpenSPCoop se la trasformazione ha successo, null altrimenti.
*/
public static Level toLog4J(String livello){
if(livello==null)
return LogLevels.LOG_LEVEL_INFO_PROTOCOL;
if(livello.equalsIgnoreCase(LogLevels.LIVELLO_FATAL)){
return LogLevels.LOG_LEVEL_FATAL;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_ERROR_PROTOCOL)){
return LogLevels.LOG_LEVEL_ERROR_PROTOCOL;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_ERROR_INTEGRATION)){
return LogLevels.LOG_LEVEL_ERROR_INTEGRATION;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_INFO_PROTOCOL)){
return LogLevels.LOG_LEVEL_INFO_PROTOCOL;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_INFO_INTEGRATION)){
return LogLevels.LOG_LEVEL_INFO_INTEGRATION;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_DEBUG_LOW)){
return LogLevels.LOG_LEVEL_DEBUG_LOW;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_DEBUG_MEDIUM)){
return LogLevels.LOG_LEVEL_DEBUG_MEDIUM;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_DEBUG_HIGH)){
return LogLevels.LOG_LEVEL_DEBUG_HIGH;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_OFF)){
return org.apache.logging.log4j.Level.OFF;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_ALL)){
return org.apache.logging.log4j.Level.ALL;
}else
return null;
}
/**
* Metodo che effettua la trasformazione di una stringa nell'analogo livello di OpenSPCoop2.
*
* @param livello Oggetto Level da ottenere
* @return L'intero di severita di OpenSPCoop se la trasformazione ha successo, null altrimenti.
*/
public static int toOpenSPCoop2(String livello){
if(livello==null)
return LogLevels.SEVERITA_INFO_PROTOCOL;
if(livello.equalsIgnoreCase(LogLevels.LIVELLO_FATAL)){
return LogLevels.SEVERITA_FATAL;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_ERROR_PROTOCOL)){
return LogLevels.SEVERITA_ERROR_PROTOCOL;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_ERROR_INTEGRATION)){
return LogLevels.SEVERITA_ERROR_INTEGRATION;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_INFO_PROTOCOL)){
return LogLevels.SEVERITA_INFO_PROTOCOL;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_INFO_INTEGRATION)){
return LogLevels.SEVERITA_INFO_INTEGRATION;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_DEBUG_LOW)){
return LogLevels.SEVERITA_DEBUG_LOW;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_DEBUG_MEDIUM)){
return LogLevels.SEVERITA_DEBUG_MEDIUM;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_DEBUG_HIGH)){
return LogLevels.SEVERITA_DEBUG_HIGH;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_OFF)){
return LogLevels.SEVERITA_OFF;
}
else if(livello.equalsIgnoreCase(LogLevels.LIVELLO_ALL)){
return LogLevels.SEVERITA_ALL;
}else
return LogLevels.SEVERITA_ALL;
}
/**
* Metodo che effettua la trasformazione da un livello di severita nell'analogo livello in stringa.
*
* @param valueLivello Livello da trasformare
* @return Il livello in stringa se la trasformazione ha successo, false altrimenti.
*/
public static String toOpenSPCoop2(int valueLivello){
return toOpenSPCoop2(valueLivello,false);
}
public static String toOpenSPCoop2(int valueLivello, boolean includeOffAll){
if( valueLivello == LogLevels.SEVERITA_FATAL ){
return LogLevels.LIVELLO_FATAL;
} else if( valueLivello == LogLevels.SEVERITA_ERROR_PROTOCOL ){
return LogLevels.LIVELLO_ERROR_PROTOCOL;
} else if( valueLivello == LogLevels.SEVERITA_ERROR_INTEGRATION ){
return LogLevels.LIVELLO_ERROR_INTEGRATION;
} else if( valueLivello == LogLevels.SEVERITA_INFO_PROTOCOL ){
return LogLevels.LIVELLO_INFO_PROTOCOL;
} else if( valueLivello == LogLevels.SEVERITA_INFO_INTEGRATION ){
return LogLevels.LIVELLO_INFO_INTEGRATION;
} else if( valueLivello == LogLevels.SEVERITA_DEBUG_LOW ){
return LogLevels.LIVELLO_DEBUG_LOW;
} else if( valueLivello == LogLevels.SEVERITA_DEBUG_MEDIUM ){
return LogLevels.LIVELLO_DEBUG_MEDIUM;
} else if( valueLivello == LogLevels.SEVERITA_DEBUG_HIGH ){
return LogLevels.LIVELLO_DEBUG_HIGH;
} else{
if(includeOffAll){
if( valueLivello == LogLevels.SEVERITA_ALL ){
return LogLevels.LIVELLO_ALL;
} else if( valueLivello == LogLevels.SEVERITA_OFF ){
return LogLevels.LIVELLO_OFF;
}
}
return null;
}
}
}