OpenSPCoop2Logger.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */




  20. package org.openspcoop2.pdd.logger;


  21. import java.io.File;
  22. import java.io.FileInputStream;
  23. import java.io.InputStream;
  24. import java.io.StringReader;
  25. import java.util.ArrayList;
  26. import java.util.Date;
  27. import java.util.Enumeration;
  28. import java.util.List;
  29. import java.util.Map;
  30. import java.util.Properties;

  31. import org.openspcoop2.core.commons.CoreException;
  32. import org.openspcoop2.core.config.MessaggiDiagnostici;
  33. import org.openspcoop2.core.config.constants.CostantiConfigurazione;
  34. import org.openspcoop2.core.id.IDServizio;
  35. import org.openspcoop2.core.id.IDSoggetto;
  36. import org.openspcoop2.core.registry.driver.IDServizioFactory;
  37. import org.openspcoop2.core.statistiche.constants.TipoIntervalloStatistico;
  38. import org.openspcoop2.pdd.config.ClassNameProperties;
  39. import org.openspcoop2.pdd.config.OpenSPCoop2Properties;
  40. import org.openspcoop2.pdd.core.CostantiPdD;
  41. import org.openspcoop2.pdd.core.IPdDContextSerializer;
  42. import org.openspcoop2.protocol.engine.ProtocolFactoryManager;
  43. import org.openspcoop2.protocol.engine.builder.DateBuilder;
  44. import org.openspcoop2.protocol.engine.utils.NamingUtils;
  45. import org.openspcoop2.protocol.sdk.IProtocolFactory;
  46. import org.openspcoop2.protocol.sdk.diagnostica.IDiagnosticProducer;
  47. import org.openspcoop2.protocol.sdk.diagnostica.MsgDiagnostico;
  48. import org.openspcoop2.protocol.sdk.dump.IDumpProducer;
  49. import org.openspcoop2.protocol.sdk.tracciamento.ITracciaProducer;
  50. import org.openspcoop2.utils.LoggerWrapperFactory;
  51. import org.openspcoop2.utils.Utilities;
  52. import org.openspcoop2.utils.properties.CollectionProperties;
  53. import org.openspcoop2.utils.properties.PropertiesUtilities;
  54. import org.openspcoop2.utils.resources.Charset;
  55. import org.openspcoop2.utils.resources.Loader;
  56. import org.slf4j.Logger;

  57. /**
  58.  * Contiene la definizione un Logger utilizzato dai nodi dell'infrastruttura di OpenSPCoop
  59.  * per la registrazione di messaggi riguardanti :.
  60.  * <ul>
  61.  * <li> Tracciamento
  62.  * <li> MsgDiagnostici
  63.  * </ul>
  64.  *
  65.  * @author Poli Andrea (apoli@link.it)
  66.  * @author Tommaso Burlon (tommaso.burlon@link.it)
  67.  * @author $Author$
  68.  * @version $Rev$, $Date$
  69.  */

  70. public class OpenSPCoop2Logger {

  71.     /**  Logger log4j utilizzato per scrivere i tracciamenti */
  72.     protected static Logger loggerTracciamento = null;
  73.     /** Logger log4j utilizzato per scrivere i tracciamenti: impostazione */
  74.     public static boolean loggerTracciamentoAbilitato = false;
  75.     /**  Logger log4j utilizzato per scrivere i msgDiagnostici */
  76.     protected static org.apache.logging.log4j.Logger loggerMsgDiagnostico = null;
  77.     /** Logger log4j utilizzato per scrivere i msg diagnostici: impostazione */
  78.     public static boolean loggerMsgDiagnosticoAbilitato = false;
  79.     /**  Logger log4j utilizzato per scrivere i msgDiagnostici */
  80.     protected static org.apache.logging.log4j.Logger loggerOpenSPCoop2 = null;
  81.     /** Logger log4j utilizzato per scrivere i msg diagnostici 'readable': impostazione */
  82.     public static boolean loggerMsgDiagnosticoReadableAbilitato = false;
  83.     /**  Logger log4j utilizzato per scrivere i msgDiagnostici del servizio di IntegrationManager */
  84.     protected static org.apache.logging.log4j.Logger loggerIntegrationManager = null;
  85.     /** Logger log4j utilizzato per scrivere i msg diagnostici 'readable' del servizio di IntegrationManager: impostazione */
  86.     public static boolean loggerIntegrationManagerAbilitato = false;
  87.     /**  Logger log4j utilizzato per effettuare un dump dei messaggi applicativi */
  88.     protected static Logger loggerDump = null;
  89.     /** Logger log4j utilizzato per scrivere i dump applicativi: impostazione */
  90.     public static boolean loggerDumpAbilitato = false;
  91.     /**  Logger log4j utilizzato per segnalare a video errori gravi (FATAL) o di informazione sull'inizializzazione (INFO)*/
  92.     protected static Logger loggerOpenSPCoopConsole = LoggerWrapperFactory.getLogger("govway.startup");
  93.     /** Logger log4j utilizzato per segnalare a video errori gravi (FATAL) o di informazione sull'inizializzazione (INFO) */
  94.     protected static boolean loggerOpenSPCoopConsoleStartupAgganciatoLog = false;
  95.     /**  Logger log4j utilizzato per il core di OpenSPCoop */
  96.     protected static Logger loggerOpenSPCoopCore = null;
  97.     /**  Logger log4j utilizzato per registrare le operazioni dei Timer che ripuliscono i repository buste e messaggi*/
  98.     protected static Logger loggerOpenSPCoopTimers = null;
  99.     /**  Logger log4j utilizzato per registrare le operazioni di monitoraggio delle risorse utilizzate dalla PdD (Timer che verficano le risorse della PdD) */
  100.     protected static Logger loggerOpenSPCoopResources = null;
  101.     protected static org.apache.logging.log4j.Logger loggerOpenSPCoopResourcesAsLoggerImpl = null;
  102.     /**  Logger log4j utilizzato per la configurazione di sistema */
  103.     protected static Logger loggerOpenSPCoopConfigurazioneSistema = null;
  104.     /**  Logger log4j utilizzato per il servizio proxy */
  105.     protected static Logger loggerOpenSPCoopProxy = null;
  106.     /**  Logger log4j utilizzato per i connettori */
  107.     protected static Logger loggerOpenSPCoopConnettori = null;
  108.     /**  Logger log4j utilizzato per i dati binari del servizio PD */
  109.     protected static Logger loggerOpenSPCoopDumpBinarioPD = null;
  110.     /**  Logger log4j utilizzato per i dati binari del servizio PA */
  111.     protected static Logger loggerOpenSPCoopDumpBinarioPA = null;
  112.     /**  Logger log4j utilizzato per gli eventi */
  113.     protected static Logger loggerOpenSPCoopEventi = null;
  114.     protected static Logger loggerOpenSPCoopEventiError = null;
  115.     /**  Logger log4j utilizzato per le transazioni */
  116.     protected static Logger loggerOpenSPCoopTransazioni = null;
  117.     protected static Logger loggerOpenSPCoopTransazioniError = null;
  118.     protected static Logger loggerOpenSPCoopTransazioniDevNull = null;
  119.     /**  Logger log4j utilizzato per le transazioni */
  120.     protected static Logger loggerOpenSPCoopTransazioniSql = null;
  121.     protected static Logger loggerOpenSPCoopTransazioniSqlError = null;
  122.     /**  Logger log4j utilizzato per le transazioni stateful */
  123.     protected static Logger loggerOpenSPCoopTransazioniStateful = null;
  124.     protected static Logger loggerOpenSPCoopTransazioniStatefulError = null;
  125.     /**  Logger log4j utilizzato per le transazioni stateful */
  126.     protected static Logger loggerOpenSPCoopTransazioniStatefulSql = null;
  127.     protected static Logger loggerOpenSPCoopTransazioniStatefulSqlError = null;
  128.     /**  Logger log4j utilizzato per le transazioni, per registrare le operazioni lente */
  129.     protected static Logger loggerOpenSPCoopTransazioniSlowLog = null;
  130.     /**  Logger log4j utilizzato per attività di file system recovery */
  131.     protected static Logger loggerOpenSPCoopFileSystemRecovery = null;
  132.     protected static Logger loggerOpenSPCoopFileSystemRecoveryError = null;
  133.     /**  Logger log4j utilizzato per attività di file system recovery (sql) */
  134.     protected static Logger loggerOpenSPCoopFileSystemRecoverySql = null;
  135.     protected static Logger loggerOpenSPCoopFileSystemRecoverySqlError = null;
  136.     /**  Logger log4j utilizzato per il Controllo del Traffico */
  137.     protected static Logger loggerOpenSPCoopControlloTraffico = null;
  138.     protected static Logger loggerOpenSPCoopControlloTrafficoError = null;
  139.     /**  Logger log4j utilizzato per il Controllo del Traffico (sql) */
  140.     protected static Logger loggerOpenSPCoopControlloTrafficoSql = null;
  141.     protected static Logger loggerOpenSPCoopControlloTrafficoSqlError = null;
  142.     /**  Logger log4j utilizzato per gli Allarmi */
  143.     protected static Logger loggerOpenSPCoopAllarmi = null;
  144.     protected static Logger loggerOpenSPCoopAllarmiError = null;
  145.     /**  Logger log4j utilizzato per gli Allarmi (sql) */
  146.     protected static Logger loggerOpenSPCoopAllarmiSql = null;
  147.     protected static Logger loggerOpenSPCoopAllarmiSqlError = null;
  148.     /**  Logger log4j utilizzato per le statistiche */
  149.     protected static Logger loggerOpenSPCoopStatisticheOrarie = null;
  150.     protected static Logger loggerOpenSPCoopStatisticheOrarieError = null;
  151.     protected static Logger loggerOpenSPCoopStatisticheGiornaliere = null;
  152.     protected static Logger loggerOpenSPCoopStatisticheGiornaliereError = null;
  153.     protected static Logger loggerOpenSPCoopStatisticheSettimanali = null;
  154.     protected static Logger loggerOpenSPCoopStatisticheSettimanaliError = null;
  155.     protected static Logger loggerOpenSPCoopStatisticheMensili = null;
  156.     protected static Logger loggerOpenSPCoopStatisticheMensiliError = null;
  157.     /**  Logger log4j utilizzato per le statistiche */
  158.     protected static Logger loggerOpenSPCoopStatisticheOrarieSql = null;
  159.     protected static Logger loggerOpenSPCoopStatisticheOrarieSqlError = null;
  160.     protected static Logger loggerOpenSPCoopStatisticheGiornaliereSql = null;
  161.     protected static Logger loggerOpenSPCoopStatisticheGiornaliereSqlError = null;
  162.     protected static Logger loggerOpenSPCoopStatisticheSettimanaliSql = null;
  163.     protected static Logger loggerOpenSPCoopStatisticheSettimanaliSqlError = null;
  164.     protected static Logger loggerOpenSPCoopStatisticheMensiliSql = null;
  165.     protected static Logger loggerOpenSPCoopStatisticheMensiliSqlError = null;
  166.     /**  Logger log4j utilizzato per consegna contenuti */
  167.     protected static Logger loggerOpenSPCoopConsegnaContenuti = null;
  168.     protected static Logger loggerOpenSPCoopConsegnaContenutiError = null;
  169.     /**  Logger log4j utilizzato per consegna contenuti */
  170.     protected static Logger loggerOpenSPCoopConsegnaContenutiSql = null;
  171.     protected static Logger loggerOpenSPCoopConsegnaContenutiSqlError = null;
  172.     /**  Logger log4j utilizzato per i Plugins */
  173.     protected static Logger loggerOpenSPCoopPlugins = null;
  174.     protected static Logger loggerOpenSPCoopPluginsError = null;
  175.     /**  Logger log4j utilizzato per i Plugins (sql) */
  176.     protected static Logger loggerOpenSPCoopPluginsSql = null;
  177.     protected static Logger loggerOpenSPCoopPluginsSqlError = null;
  178.     /**  Logger log4j utilizzato per il gestore delle chiavi PDND */
  179.     protected static Logger loggerOpenSPCoopGestoreChiaviPDND = null;
  180.     protected static Logger loggerOpenSPCoopGestoreChiaviPDNDError = null;
  181.     /**  Logger log4j utilizzato per il gestore delle operazioni remote */
  182.     protected static Logger loggerOpenSPCoopGestoreOperazioniRemote = null;
  183.     protected static Logger loggerOpenSPCoopGestoreOperazioniRemoteError = null;
  184.     /** Appender personalizzati per i messaggi diagnostici di OpenSPCoop */
  185.     public static List<IDiagnosticProducer> loggerMsgDiagnosticoOpenSPCoopAppender = new ArrayList<>();
  186.     public static List<String> tipoMsgDiagnosticoOpenSPCoopAppender = new ArrayList<>();
  187.     /** Appender personalizzati per i tracciamenti di OpenSPCoop */
  188.     public static List<ITracciaProducer> loggerTracciamentoOpenSPCoopAppender = new ArrayList<>();
  189.     public static List<String> tipoTracciamentoOpenSPCoopAppender = new ArrayList<>();
  190.     /** Appender personalizzati per i dump applicativi di OpenSPCoop */
  191.     public static List<IDumpProducer> loggerDumpOpenSPCoopAppender = new ArrayList<>();
  192.     public static List<String> tipoDumpOpenSPCoopAppender = new ArrayList<>();
  193.     /** PdDContextSerializer */
  194.     private static IPdDContextSerializer pddContextSerializer = null;
  195.     /** LogDir */
  196.     private static List<File> logDirs;
  197.     public static List<File> getLogDirs() {
  198.         return logDirs;
  199.     }

  200.     public static boolean isLoggerOpenSPCoopConsoleStartupAgganciatoLog(){
  201.         return OpenSPCoop2Logger.loggerOpenSPCoopConsoleStartupAgganciatoLog;
  202.     }
  203.    
  204.     private static final String APP_NAME = "govway";
  205.    
  206.     private static List<String> filesCheck;
  207.     private static void initializeLogDirs(Properties p, boolean append){
  208.        
  209.         if(!append) {
  210.             logDirs = new ArrayList<>();
  211.             filesCheck = new ArrayList<>();
  212.         }
  213.        
  214.         Enumeration<?> en = p.keys();
  215.         while (en.hasMoreElements()) {
  216.             String key = (String) en.nextElement();
  217.             key = key.trim();
  218.             String value = p.getProperty(key);
  219.             value = value.trim();
  220.             if(key.endsWith(".fileName") || key.endsWith(".filePattern")) {
  221.                 File fTmp = new File(value);
  222.                 if(fTmp.getParentFile()!=null) {
  223.                     if(filesCheck.contains(fTmp.getParentFile().getAbsolutePath())==false) {
  224.                         logDirs.add(fTmp.getParentFile());
  225.                         filesCheck.add(fTmp.getParentFile().getAbsolutePath());
  226.                     }
  227.                 }
  228.             }
  229.         }
  230.        
  231.     }
  232.    
  233.     /**
  234.      * Il Metodo si occupa di inizializzare il Logger utilizzato da OpenSPCoop (file,DB scelti da govway.log4j2.properties)
  235.      *
  236.      * @param logConsole Log console
  237.      * @return true in caso di inizializzazione con successo, false altrimenti.
  238.      *
  239.      */
  240.     public static boolean initializeLogConsole(Logger logConsole){
  241.         InputStream isOp2 = null;
  242.         InputStream isLogger = null;
  243.         try{
  244.             isOp2 = OpenSPCoop2Logger.class.getResourceAsStream("/govway.properties");
  245.             String confDir = null;
  246.             if(isOp2!=null){
  247.                 java.util.Properties op2Properties = new java.util.Properties();
  248.                 op2Properties.load(isOp2);
  249.                 confDir = op2Properties.getProperty("org.openspcoop2.pdd.confDirectory");
  250.             }
  251.            
  252.             java.util.Properties loggerProperties = new java.util.Properties();
  253.             isLogger = OpenSPCoop2Logger.class.getResourceAsStream("/govway.log4j2.properties");
  254.             if(isLogger!=null){
  255.                 loggerProperties.load(isLogger);
  256.             }
  257.            
  258.             // Cerco eventuale ridefinizione
  259.             CollectionProperties loggerPropertiesRidefinito =  
  260.                     PropertiesUtilities.searchLocalImplementation(CostantiPdD.OPENSPCOOP2_LOCAL_HOME,LoggerWrapperFactory.getLogger(OpenSPCoop2Logger.class),
  261.                             CostantiPdD.OPENSPCOOP2_LOGGER_PROPERTIES, CostantiPdD.OPENSPCOOP2_LOGGER_LOCAL_PATH,
  262.                             confDir);
  263.            
  264.             if(loggerPropertiesRidefinito!=null && loggerPropertiesRidefinito.size()>0){
  265.                 Enumeration<?> ridefinito = loggerPropertiesRidefinito.keys();
  266.                 while (ridefinito.hasMoreElements()) {
  267.                     String key = (String) ridefinito.nextElement();
  268.                     String value = (String) loggerPropertiesRidefinito.get(key);
  269.                     if(loggerProperties.containsKey(key)){
  270.                         //Object o =
  271.                         loggerProperties.remove(key);
  272.                     }
  273.                     loggerProperties.put(key, value);
  274.                     //System.out.println("CHECK NUOVO VALORE: "+loggerProperties.get(key));
  275.                 }
  276.             }
  277.            
  278.             LoggerWrapperFactory.patchLoggers(loggerProperties,  
  279.                     org.openspcoop2.utils.Costanti.ENV_LOG_GOVWAY,
  280.                     Map.of(org.openspcoop2.utils.Costanti.VAR_LOGGER_APPNAME, APP_NAME));
  281.             LoggerWrapperFactory.setLogConfiguration(loggerProperties);
  282.             initializeLogDirs(loggerProperties, false);
  283.            
  284.             return true;
  285.         }catch(Exception e){
  286.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione del sistema di logging di OpenSPCoop: "
  287.                     +e.getMessage(),e);
  288.             return false;
  289.         }finally{
  290.             try{
  291.                 if(isOp2!=null){
  292.                     isOp2.close();
  293.                 }
  294.             }catch(Exception eClose){
  295.                 // close
  296.             }
  297.             try{
  298.                 if(isLogger!=null){
  299.                     isLogger.close();
  300.                 }
  301.             }catch(Exception eClose){
  302.                 // close
  303.             }
  304.         }
  305.     }
  306.    
  307.    
  308.     public static boolean initialize(Logger logConsole,String rootDirectory,Properties objectProperties,
  309.             boolean allarmiEnabled){
  310.         return initialize(logConsole, rootDirectory, objectProperties, true,
  311.                 allarmiEnabled);
  312.     }
  313.     public static boolean initialize(Logger logConsole,String rootDirectory,Properties objectProperties, boolean loadExternalConfiguration,
  314.             boolean allarmiEnabled){
  315.         try{
  316.            
  317.             // Originale
  318.             java.util.Properties loggerProperties = new java.util.Properties();
  319.             java.io.File loggerFile = new java.io.File(rootDirectory+"govway.log4j2.properties");
  320.             if(!loggerFile .exists() ){
  321.                 loggerProperties.load(OpenSPCoop2Logger.class.getResourceAsStream("/govway.log4j2.properties"));
  322.             }else{
  323.                 FileInputStream fin = null;
  324.                 try{
  325.                     fin = new java.io.FileInputStream(loggerFile);
  326.                     loggerProperties.load(fin);
  327.                 }finally{
  328.                     try{
  329.                         if(fin!=null){
  330.                             fin.close();
  331.                         }
  332.                     }catch(Exception eClose){
  333.                         // close
  334.                     }
  335.                 }
  336.             }
  337.            
  338.             if(loadExternalConfiguration){
  339.            
  340.                 loadExternal(logConsole, CostantiPdD.OPENSPCOOP2_LOGGER_PROPERTIES ,CostantiPdD.OPENSPCOOP2_LOGGER_LOCAL_PATH,
  341.                         rootDirectory, loggerProperties, objectProperties);
  342.                
  343.             }
  344.            
  345.            
  346.            
  347.             LoggerWrapperFactory.patchLoggers(loggerProperties,
  348.                     org.openspcoop2.utils.Costanti.ENV_LOG_GOVWAY,
  349.                     Map.of(org.openspcoop2.utils.Costanti.VAR_LOGGER_APPNAME, APP_NAME));
  350.            
  351.             LoggerWrapperFactory.setLogConfiguration(loggerProperties);
  352.             initializeLogDirs(loggerProperties, false);
  353.            
  354.             // STARTUP CONSOLE
  355.             String tmp = loggerProperties.getProperty("logger.govway_startup.level");
  356.             if(tmp!=null){
  357.                 if(!tmp.equalsIgnoreCase("OFF")){
  358.                     OpenSPCoop2Logger.loggerOpenSPCoopConsoleStartupAgganciatoLog = true;
  359.                 }
  360.             }
  361.            
  362.             // TRACCIAMENTO
  363.             OpenSPCoop2Logger.loggerTracciamento = LoggerWrapperFactory.getLogger("govway.tracciamento");
  364.             if(OpenSPCoop2Logger.loggerTracciamento==null)
  365.                 throw new CoreException("Logger govway.tracciamento non trovato");
  366.             // Abilitazione log da Log4j
  367.             tmp = loggerProperties.getProperty("logger.govway_tracciamento.level");
  368.             if(tmp!=null){
  369.                 tmp = tmp.trim();
  370.                 if(tmp.equalsIgnoreCase("OFF")){
  371.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging delle tracce disabilitato da log4j (OFF).");
  372.                     OpenSPCoop2Logger.loggerTracciamentoAbilitato = false;
  373.                 }
  374.                 else
  375.                     OpenSPCoop2Logger.loggerTracciamentoAbilitato = true;
  376.             }
  377.            
  378.             // MESSAGGI DIAGNOSTICI
  379.             OpenSPCoop2Logger.loggerMsgDiagnostico = LoggerWrapperFactory.getLoggerImpl("govway.msgDiagnostico");
  380.             if(OpenSPCoop2Logger.loggerMsgDiagnostico==null)
  381.                 throw new CoreException("Logger govway.msgDiagnostico non trovato");
  382.             // Abilitazione log da Log4j
  383.             tmp = loggerProperties.getProperty("logger.govway_diagnostici.level");
  384.             if(tmp!=null){
  385.                 tmp = tmp.trim();
  386.                 if(tmp.equalsIgnoreCase("OFF")){
  387.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging dei messaggi diagnostici disabilitato da log4j (OFF).");
  388.                     OpenSPCoop2Logger.loggerMsgDiagnosticoAbilitato = false;
  389.                 }else
  390.                     OpenSPCoop2Logger.loggerMsgDiagnosticoAbilitato = true;
  391.             }
  392.            
  393.             // MESSAGGI DIAGNOSTICI LEGGIBILI
  394.             OpenSPCoop2Logger.loggerOpenSPCoop2 = LoggerWrapperFactory.getLoggerImpl("govway.portaDiDominio");
  395.             if(OpenSPCoop2Logger.loggerOpenSPCoop2==null)
  396.                 throw new CoreException("Logger govway.portaDiDominio non trovato");
  397.             // Abilitazione log da Log4j
  398.             tmp = loggerProperties.getProperty("logger.govway_portaDiDominio.level");
  399.             if(tmp!=null){
  400.                 tmp = tmp.trim();
  401.                 if(tmp.equalsIgnoreCase("OFF")){
  402.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging dei messaggi diagnostici 'readable' disabilitato da log4j (OFF).");
  403.                     OpenSPCoop2Logger.loggerMsgDiagnosticoReadableAbilitato = false;
  404.                 }else
  405.                     OpenSPCoop2Logger.loggerMsgDiagnosticoReadableAbilitato = true;
  406.             }
  407.            
  408.             // MESSAGGI DIAGNOSTICI DELL'INTEGRATION MANAGER
  409.             OpenSPCoop2Logger.loggerIntegrationManager = LoggerWrapperFactory.getLoggerImpl("govway.integrationManager");
  410.             if(OpenSPCoop2Logger.loggerIntegrationManager==null)
  411.                 throw new CoreException("Logger govway.integrationManager non trovato");
  412.             // Abilitazione log da Log4j
  413.             tmp = loggerProperties.getProperty("logger.govway_integrationManager.level");
  414.             if(tmp!=null){
  415.                 tmp = tmp.trim();
  416.                 if(tmp.equalsIgnoreCase("OFF")){
  417.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging dei messaggi diagnostici 'readable' per il servizio di IntegrationManager disabilitato da log4j (OFF).");
  418.                     OpenSPCoop2Logger.loggerIntegrationManagerAbilitato = false;
  419.                 }else
  420.                     OpenSPCoop2Logger.loggerIntegrationManagerAbilitato = true;
  421.             }
  422.            
  423.             // DUMP APPLICATIVO
  424.             OpenSPCoop2Logger.loggerDump = LoggerWrapperFactory.getLogger("govway.dump");
  425.             if(OpenSPCoop2Logger.loggerDump==null)
  426.                 throw new CoreException("Logger govway.dump non trovato");
  427.             // Abilitazione log da Log4j
  428.             tmp = loggerProperties.getProperty("logger.govway_dump.level");
  429.             if(tmp!=null){
  430.                 tmp = tmp.trim();
  431.                 if(tmp.equalsIgnoreCase("OFF")){
  432.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging dei contenuti applicativi (dump) disabilitato da log4j (OFF).");
  433.                     OpenSPCoop2Logger.loggerDumpAbilitato = false;
  434.                 }
  435.                 else
  436.                     OpenSPCoop2Logger.loggerDumpAbilitato = true;
  437.             }

  438.             // OPENSPCOOP CORE
  439.             OpenSPCoop2Logger.loggerOpenSPCoopCore = LoggerWrapperFactory.getLogger("govway.core");
  440.             if(OpenSPCoop2Logger.loggerOpenSPCoopCore==null)
  441.                 throw new CoreException("Logger govway.core non trovato");
  442.            
  443.             // TIMERS LOG
  444.             OpenSPCoop2Logger.loggerOpenSPCoopTimers = LoggerWrapperFactory.getLogger("govway.timers");
  445.             if(OpenSPCoop2Logger.loggerOpenSPCoopTimers==null)
  446.                 throw new CoreException("Logger govway.timers non trovato");
  447.            
  448.             // RESOURCES LOG
  449.             OpenSPCoop2Logger.loggerOpenSPCoopResources = LoggerWrapperFactory.getLogger("govway.resources");
  450.             if(OpenSPCoop2Logger.loggerOpenSPCoopResources==null)
  451.                 throw new CoreException("Logger govway.resources non trovato");
  452.             OpenSPCoop2Logger.loggerOpenSPCoopResourcesAsLoggerImpl = LoggerWrapperFactory.getLoggerImpl("govway.resources");
  453.             if(OpenSPCoop2Logger.loggerOpenSPCoopResourcesAsLoggerImpl==null)
  454.                 throw new CoreException("Logger(Impl) govway.resources non trovato");
  455.            
  456.             // CONFIGURAZIONE SISTEMA LOG
  457.             OpenSPCoop2Logger.loggerOpenSPCoopConfigurazioneSistema = LoggerWrapperFactory.getLogger("govway.configurazioneSistema");
  458.             if(OpenSPCoop2Logger.loggerOpenSPCoopConfigurazioneSistema==null)
  459.                 throw new CoreException("Logger govway.configurazioneSistema non trovato");
  460.            
  461.             // PROXY LOG
  462.             OpenSPCoop2Logger.loggerOpenSPCoopProxy = LoggerWrapperFactory.getLogger("govway.proxy");
  463.             if(OpenSPCoop2Logger.loggerOpenSPCoopProxy==null)
  464.                 throw new CoreException("Logger govway.proxy non trovato");
  465.            
  466.             // CONNETTORI LOG
  467.             OpenSPCoop2Logger.loggerOpenSPCoopConnettori = LoggerWrapperFactory.getLogger("govway.connettori");
  468.             if(OpenSPCoop2Logger.loggerOpenSPCoopConnettori==null)
  469.                 throw new CoreException("Logger govway.connettori non trovato");
  470.                        
  471.             // RAW DATA SERVIZIO PD LOG
  472.             OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPD = LoggerWrapperFactory.getLogger("govway.dumpBinarioPD");
  473.             if(OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPD==null)
  474.                 throw new CoreException("Logger govway.dumpBinarioPD non trovato");
  475.            
  476.             // RAW DATA SERVIZIO PD LOG
  477.             OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPA = LoggerWrapperFactory.getLogger("govway.dumpBinarioPA");
  478.             if(OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPA==null)
  479.                 throw new CoreException("Logger govway.dumpBinarioPA non trovato");
  480.            
  481.             // EVENTI LOG
  482.             OpenSPCoop2Logger.loggerOpenSPCoopEventi = LoggerWrapperFactory.getLogger("govway.eventi");
  483.             if(OpenSPCoop2Logger.loggerOpenSPCoopEventi==null)
  484.                 throw new CoreException("Logger govway.eventi non trovato");
  485.            
  486.             // TRANSAZIONI LOG
  487.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioni = LoggerWrapperFactory.getLogger("govway.transazioni");
  488.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioni==null)
  489.                 throw new CoreException("Logger govway.transazioni non trovato");
  490.            
  491.             // TRANSAZIONI LOG (ERROR)
  492.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniError = LoggerWrapperFactory.getLogger("govway.transazioni.error");
  493.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniError==null)
  494.                 throw new CoreException("Logger govway.transazioni.error non trovato");
  495.            
  496.             // TRANSAZIONI LOG (DEVNULL)
  497.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniDevNull = LoggerWrapperFactory.getLogger("govway.transazioni.devnull");
  498.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniDevNull==null)
  499.                 throw new CoreException("Logger govway.transazioni.devnull non trovato");
  500.            
  501.             // TRANSAZIONI SQL LOG
  502.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSql = LoggerWrapperFactory.getLogger("govway.transazioni.sql");
  503.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSql==null)
  504.                 throw new CoreException("Logger govway.transazioni.sql non trovato");
  505.            
  506.             // TRANSAZIONI SQL LOG (ERROR)
  507.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSqlError = LoggerWrapperFactory.getLogger("govway.transazioni.sql.error");
  508.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSqlError==null)
  509.                 throw new CoreException("Logger govway.transazioni.sql.error non trovato");
  510.            
  511.             // TRANSAZIONI STATEFUL LOG
  512.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStateful = LoggerWrapperFactory.getLogger("govway.transazioni.stateful");
  513.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStateful==null)
  514.                 throw new CoreException("Logger govway.transazioni.stateful non trovato");
  515.            
  516.             // TRANSAZIONI STATEFUL LOG (ERROR)
  517.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulError = LoggerWrapperFactory.getLogger("govway.transazioni.stateful.error");
  518.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulError==null)
  519.                 throw new CoreException("Logger govway.transazioni.stateful.error non trovato");
  520.            
  521.             // TRANSAZIONI STATEFUL SQL LOG
  522.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSql = LoggerWrapperFactory.getLogger("govway.transazioni.stateful.sql");
  523.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSql==null)
  524.                 throw new CoreException("Logger govway.transazioni.stateful.sql non trovato");
  525.            
  526.             // TRANSAZIONI STATEFUL SQL LOG (ERROR)
  527.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSqlError = LoggerWrapperFactory.getLogger("govway.transazioni.stateful.sql.error");
  528.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSqlError==null)
  529.                 throw new CoreException("Logger govway.transazioni.stateful.sql.error non trovato");
  530.            
  531.             // TRANSAZIONI SLOW LOG
  532.             OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSlowLog = LoggerWrapperFactory.getLogger("govway.transazioni.slowLog");
  533.             if(OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSlowLog==null)
  534.                 throw new CoreException("Logger govway.transazioni.slowLog non trovato");
  535.            
  536.             // EVENTI LOG (ERROR)
  537.             OpenSPCoop2Logger.loggerOpenSPCoopEventiError = LoggerWrapperFactory.getLogger("govway.eventi.error");
  538.             if(OpenSPCoop2Logger.loggerOpenSPCoopEventiError==null)
  539.                 throw new CoreException("Logger govway.eventi.error non trovato");
  540.            
  541.             // FILE SYSTEM RECOVERY LOG
  542.             OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecovery = LoggerWrapperFactory.getLogger("govway.recoveryFileSystem");
  543.             if(OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecovery==null)
  544.                 throw new CoreException("Logger govway.recoveryFileSystem non trovato");
  545.            
  546.             // FILE SYSTEM RECOVERY LOG (ERROR)
  547.             OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoveryError = LoggerWrapperFactory.getLogger("govway.recoveryFileSystem.error");
  548.             if(OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoveryError==null)
  549.                 throw new CoreException("Logger govway.recoveryFileSystem.error non trovato");
  550.            
  551.             // FILE SYSTEM RECOVERY SQL LOG
  552.             OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySql = LoggerWrapperFactory.getLogger("govway.recoveryFileSystem.sql");
  553.             if(OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySql==null)
  554.                 throw new CoreException("Logger govway.recoveryFileSystem.sql non trovato");
  555.            
  556.             // FILE SYSTEM RECOVERY SQL LOG (ERROR)
  557.             OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySqlError = LoggerWrapperFactory.getLogger("govway.recoveryFileSystem.sql.error");
  558.             if(OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySqlError==null)
  559.                 throw new CoreException("Logger govway.recoveryFileSystem.sql.error non trovato");
  560.            
  561.             // CONTROLLO TRAFFICO LOG
  562.             OpenSPCoop2Logger.loggerOpenSPCoopControlloTraffico = LoggerWrapperFactory.getLogger("govway.controlloTraffico");
  563.             if(OpenSPCoop2Logger.loggerOpenSPCoopControlloTraffico==null)
  564.                 throw new CoreException("Logger govway.controlloTraffico non trovato");
  565.            
  566.             // CONTROLLO TRAFFICO LOG (ERROR)
  567.             OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoError = LoggerWrapperFactory.getLogger("govway.controlloTraffico.error");
  568.             if(OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoError==null)
  569.                 throw new CoreException("Logger govway.controlloTraffico.error non trovato");
  570.            
  571.             // CONTROLLO TRAFFICO SQL LOG
  572.             OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSql = LoggerWrapperFactory.getLogger("govway.controlloTraffico.sql");
  573.             if(OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSql==null)
  574.                 throw new CoreException("Logger govway.controlloTraffico.sql non trovato");
  575.            
  576.             // CONTROLLO TRAFFICO SQL LOG (ERROR)
  577.             OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSqlError = LoggerWrapperFactory.getLogger("govway.controlloTraffico.sql.error");
  578.             if(OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSqlError==null)
  579.                 throw new CoreException("Logger govway.controlloTraffico.sql.error non trovato");
  580.            
  581.             if(allarmiEnabled) {
  582.            
  583.                 // ALLARMI LOG
  584.                 OpenSPCoop2Logger.loggerOpenSPCoopAllarmi = LoggerWrapperFactory.getLogger("govway.controlloAllarmi");
  585.                 if(OpenSPCoop2Logger.loggerOpenSPCoopAllarmi==null)
  586.                     throw new CoreException("Logger govway.controlloAllarmi non trovato");
  587.                
  588.                 // ALLARMI LOG (ERROR)
  589.                 OpenSPCoop2Logger.loggerOpenSPCoopAllarmiError = LoggerWrapperFactory.getLogger("govway.controlloAllarmi.error");
  590.                 if(OpenSPCoop2Logger.loggerOpenSPCoopAllarmiError==null)
  591.                     throw new CoreException("Logger govway.controlloAllarmi.error non trovato");
  592.                
  593.                 // ALLARMI SQL LOG
  594.                 OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSql = LoggerWrapperFactory.getLogger("govway.controlloAllarmi.sql");
  595.                 if(OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSql==null)
  596.                     throw new CoreException("Logger govway.controlloAllarmi.sql non trovato");
  597.                
  598.                 // ALLARMI SQL LOG (ERROR)
  599.                 OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSqlError = LoggerWrapperFactory.getLogger("govway.controlloAllarmi.sql.error");
  600.                 if(OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSqlError==null)
  601.                     throw new CoreException("Logger govway.controlloAllarmi.sql.error non trovato");
  602.                
  603.             }
  604.            
  605.             // STATISTICHE LOG 'Orarie'
  606.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarie = LoggerWrapperFactory.getLogger("govway.statistiche_orarie.generazione");
  607.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarie==null)
  608.                 throw new CoreException("Logger govway.statistiche.generazione non trovato");
  609.            
  610.             // STATISTICHE LOG (ERROR) 'Orarie'
  611.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieError = LoggerWrapperFactory.getLogger("govway.statistiche_orarie.generazione.error");
  612.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieError==null)
  613.                 throw new CoreException("Logger govway.statistiche.generazione.error non trovato");
  614.            
  615.             // STATISTICHE SQL LOG 'Orarie'
  616.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSql = LoggerWrapperFactory.getLogger("govway.statistiche_orarie.generazione.sql");
  617.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSql==null)
  618.                 throw new CoreException("Logger govway.statistiche.generazione.sql non trovato");
  619.            
  620.             // STATISTICHE SQL LOG (ERROR) 'Orarie'
  621.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSqlError = LoggerWrapperFactory.getLogger("govway.statistiche_orarie.generazione.sql.error");
  622.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSqlError==null)
  623.                 throw new CoreException("Logger govway.statistiche.generazione.sql.error non trovato");
  624.                        
  625.             // STATISTICHE LOG 'Giornaliere'
  626.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliere = LoggerWrapperFactory.getLogger("govway.statistiche_giornaliere.generazione");
  627.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliere==null)
  628.                 throw new CoreException("Logger govway.statistiche.generazione non trovato");
  629.            
  630.             // STATISTICHE LOG (ERROR) 'Giornaliere'
  631.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereError = LoggerWrapperFactory.getLogger("govway.statistiche_giornaliere.generazione.error");
  632.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereError==null)
  633.                 throw new CoreException("Logger govway.statistiche.generazione.error non trovato");
  634.            
  635.             // STATISTICHE SQL LOG 'Giornaliere'
  636.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSql = LoggerWrapperFactory.getLogger("govway.statistiche_giornaliere.generazione.sql");
  637.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSql==null)
  638.                 throw new CoreException("Logger govway.statistiche.generazione.sql non trovato");
  639.            
  640.             // STATISTICHE SQL LOG (ERROR) 'Giornaliere'
  641.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSqlError = LoggerWrapperFactory.getLogger("govway.statistiche_giornaliere.generazione.sql.error");
  642.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSqlError==null)
  643.                 throw new CoreException("Logger govway.statistiche.generazione.sql.error non trovato");
  644.            
  645.             // STATISTICHE LOG 'Settimanali'
  646.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanali = LoggerWrapperFactory.getLogger("govway.statistiche_settimanali.generazione");
  647.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanali==null)
  648.                 throw new CoreException("Logger govway.statistiche.generazione non trovato");
  649.            
  650.             // STATISTICHE LOG (ERROR) 'Settimanali'
  651.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliError = LoggerWrapperFactory.getLogger("govway.statistiche_settimanali.generazione.error");
  652.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliError==null)
  653.                 throw new CoreException("Logger govway.statistiche.generazione.error non trovato");
  654.            
  655.             // STATISTICHE SQL LOG 'Settimanali'
  656.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSql = LoggerWrapperFactory.getLogger("govway.statistiche_settimanali.generazione.sql");
  657.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSql==null)
  658.                 throw new CoreException("Logger govway.statistiche.generazione.sql non trovato");
  659.            
  660.             // STATISTICHE SQL LOG (ERROR) 'Settimanali'
  661.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSqlError = LoggerWrapperFactory.getLogger("govway.statistiche_settimanali.generazione.sql.error");
  662.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSqlError==null)
  663.                 throw new CoreException("Logger govway.statistiche.generazione.sql.error non trovato");
  664.                
  665.             // STATISTICHE LOG 'Mensili'
  666.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensili = LoggerWrapperFactory.getLogger("govway.statistiche_mensili.generazione");
  667.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensili==null)
  668.                 throw new CoreException("Logger govway.statistiche.generazione non trovato");
  669.            
  670.             // STATISTICHE LOG (ERROR) 'Mensili'
  671.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliError = LoggerWrapperFactory.getLogger("govway.statistiche_mensili.generazione.error");
  672.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliError==null)
  673.                 throw new CoreException("Logger govway.statistiche.generazione.error non trovato");
  674.            
  675.             // STATISTICHE SQL LOG 'Mensili'
  676.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSql = LoggerWrapperFactory.getLogger("govway.statistiche_mensili.generazione.sql");
  677.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSql==null)
  678.                 throw new CoreException("Logger govway.statistiche.generazione.sql non trovato");
  679.            
  680.             // STATISTICHE SQL LOG (ERROR) 'Mensili'
  681.             OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSqlError = LoggerWrapperFactory.getLogger("govway.statistiche_mensili.generazione.sql.error");
  682.             if(OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSqlError==null)
  683.                 throw new CoreException("Logger govway.statistiche.generazione.sql.error non trovato");
  684.                
  685.             // CONSEGNA_CONTENUTI LOG
  686.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenuti = LoggerWrapperFactory.getLogger("govway.consegna_messaggi");
  687.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenuti==null)
  688.                 throw new CoreException("Logger govway.consegna_messaggi non trovato");
  689.            
  690.             // CONSEGNA_CONTENUTI LOG (ERROR)
  691.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiError = LoggerWrapperFactory.getLogger("govway.consegna_messaggi.error");
  692.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiError==null)
  693.                 throw new CoreException("Logger govway.consegna_messaggi.error non trovato");
  694.            
  695.             // CONSEGNA_CONTENUTI SQL LOG
  696.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSql = LoggerWrapperFactory.getLogger("govway.consegna_messaggi.sql");
  697.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSql==null)
  698.                 throw new CoreException("Logger govway.consegna_messaggi.sql non trovato");
  699.            
  700.             // CONSEGNA_CONTENUTI SQL LOG (ERROR)
  701.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSqlError = LoggerWrapperFactory.getLogger("govway.consegna_messaggi.sql.error");
  702.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSqlError==null)
  703.                 throw new CoreException("Logger govway.consegna_messaggi.sql.error non trovato");

  704.             // PLUGINS LOG
  705.             OpenSPCoop2Logger.loggerOpenSPCoopPlugins = LoggerWrapperFactory.getLogger("govway.plugins");
  706.             if(OpenSPCoop2Logger.loggerOpenSPCoopPlugins==null)
  707.                 throw new CoreException("Logger govway.plugins non trovato");
  708.            
  709.             // PLUGINS LOG (ERROR)
  710.             OpenSPCoop2Logger.loggerOpenSPCoopPluginsError = LoggerWrapperFactory.getLogger("govway.plugins.error");
  711.             if(OpenSPCoop2Logger.loggerOpenSPCoopPluginsError==null)
  712.                 throw new CoreException("Logger govway.plugins.error non trovato");
  713.            
  714.             // PLUGINS SQL LOG
  715.             OpenSPCoop2Logger.loggerOpenSPCoopPluginsSql = LoggerWrapperFactory.getLogger("govway.plugins.sql");
  716.             if(OpenSPCoop2Logger.loggerOpenSPCoopPluginsSql==null)
  717.                 throw new CoreException("Logger govway.plugins.sql non trovato");
  718.            
  719.             // PLUGINS SQL LOG (ERROR)
  720.             OpenSPCoop2Logger.loggerOpenSPCoopPluginsSqlError = LoggerWrapperFactory.getLogger("govway.plugins.sql.error");
  721.             if(OpenSPCoop2Logger.loggerOpenSPCoopPluginsSqlError==null)
  722.                 throw new CoreException("Logger govway.plugins.sql.error non trovato");
  723.            
  724.             // GESTORE CHIAVI PDND LOG
  725.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDND = LoggerWrapperFactory.getLogger("govway.gestoreChiaviPDND");
  726.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDND==null)
  727.                 throw new CoreException("Logger govway.gestoreChiaviPDND non trovato");
  728.            
  729.             // GESTORE CHIAVI PDND LOG (ERROR)
  730.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDNDError = LoggerWrapperFactory.getLogger("govway.gestoreChiaviPDND.error");
  731.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDNDError==null)
  732.                 throw new CoreException("Logger govway.gestoreChiaviPDND.error non trovato");
  733.            
  734.             // GESTORE OPERAZIONI REMOTE LOG
  735.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemote = LoggerWrapperFactory.getLogger("govway.gestoreOperazioniRemote");
  736.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemote==null)
  737.                 throw new CoreException("Logger govway.gestoreOperazioniRemote non trovato");
  738.            
  739.             // GESTORE OPERAZIONI REMOTE LOG (ERROR)
  740.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemoteError = LoggerWrapperFactory.getLogger("govway.gestoreOperazioniRemote.error");
  741.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemoteError==null)
  742.                 throw new CoreException("Logger govway.gestoreOperazioniRemote.error non trovato");
  743.            
  744.             // CONSOLE
  745.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging correttamente inizializzato.");
  746.            
  747.             // PddContextSerializer
  748.             OpenSPCoop2Properties propertiesReader = OpenSPCoop2Properties.getInstance();
  749.             String pddContextSerializerClass = propertiesReader.getPddContextSerializer();
  750.             if(pddContextSerializerClass!=null && !CostantiConfigurazione.NONE.equals(pddContextSerializerClass)){
  751.                 try{
  752.                     OpenSPCoop2Logger.pddContextSerializer = (IPdDContextSerializer) Loader.getInstance().newInstance(pddContextSerializerClass);
  753.                 }catch(Exception e){
  754.                     throw new CoreException("Inizializzione IPdDContextSerializer non riuscita ["+pddContextSerializerClass+"]:"+e.getMessage(),e);
  755.                 }
  756.             }
  757.            
  758.             return true;
  759.         }catch(Exception e){
  760.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione del sistema di logging di OpenSPCoop: "
  761.                     +e.getMessage(),e);
  762.             return false;
  763.         }
  764.     }
  765.    
  766.     private static void loadExternal(Logger logConsole, String loggerProperty, String loggerPath, String rootDirectory,
  767.             java.util.Properties loggerProperties, Properties objectProperties) {
  768.            
  769.         // File Local Implementation
  770.         CollectionProperties loggerPropertiesRidefinito =  
  771.             PropertiesUtilities.searchLocalImplementation(CostantiPdD.OPENSPCOOP2_LOCAL_HOME,logConsole, loggerProperty ,loggerPath, rootDirectory);
  772.         if(loggerPropertiesRidefinito!=null && loggerPropertiesRidefinito.size()>0){
  773.             Enumeration<?> ridefinito = loggerPropertiesRidefinito.keys();
  774.             while (ridefinito.hasMoreElements()) {
  775.                 String key = (String) ridefinito.nextElement();
  776.                 String value = loggerPropertiesRidefinito.get(key);
  777.                 if(loggerProperties.containsKey(key)){
  778.                     //Object o =
  779.                     loggerProperties.remove(key);
  780.                 }
  781.                 loggerProperties.put(key, value);
  782.                 //System.out.println("CHECK NUOVO VALORE: "+loggerProperties.get(key));
  783.             }
  784.         }
  785.        
  786.         // File Object Implementation
  787.         if(objectProperties!=null && objectProperties.size()>0){
  788.             Enumeration<?> ridefinito = objectProperties.keys();
  789.             while (ridefinito.hasMoreElements()) {
  790.                 String key = (String) ridefinito.nextElement();
  791.                 String value = (String) objectProperties.get(key);
  792.                 if(loggerProperties.containsKey(key)){
  793.                     //Object o =
  794.                     loggerProperties.remove(key);
  795.                 }
  796.                 loggerProperties.put(key, value);
  797.                 //System.out.println("CHECK NUOVO VALORE: "+loggerProperties.get(key));
  798.             }
  799.         }

  800.     }
  801.    
  802.     public static boolean initializeProtocolLogger(Logger logConsole, boolean loadExternalConfiguration,String rootDirectory,
  803.             Properties objectProperties) {
  804.        
  805.         try{
  806.        
  807.             ProtocolFactoryManager protocolFactoryManager = ProtocolFactoryManager.getInstance();
  808.             Enumeration<String> protocolNames = protocolFactoryManager.getProtocolNames();
  809.             while (protocolNames.hasMoreElements()) {
  810.                 String protocol = (String) protocolNames.nextElement();
  811.                 if(protocolFactoryManager.isSupportedProtocolLogger(protocol)) {
  812.                    
  813.                     java.util.Properties loggerPropertiesProtocolAdjunct = null;
  814.                     InputStream isLoggerProtocol = OpenSPCoop2Logger.class.getResourceAsStream("/govway.protocolAdjunct.log4j2.properties");
  815.                     if(isLoggerProtocol!=null){
  816.                         String content = Utilities.getAsString(isLoggerProtocol, Charset.UTF_8.getValue());
  817.                         if(content!=null) {
  818.                             content = content.replaceAll(CostantiPdD.OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO, protocol);
  819.                             loggerPropertiesProtocolAdjunct = new java.util.Properties();
  820.                             StringReader sr = new StringReader(content);
  821.                             loggerPropertiesProtocolAdjunct.load(sr);
  822.                             sr.close();
  823.                         }
  824.                     }
  825.                     if(loadExternalConfiguration){
  826.                        
  827.                         loadExternal(logConsole, CostantiPdD.getOpenspcoop2LoggerProtocolProperties(protocol),
  828.                                 CostantiPdD.getOpenspcoop2LoggerProtocolLocalPath(protocol) ,
  829.                                 rootDirectory, loggerPropertiesProtocolAdjunct, objectProperties);
  830.                        
  831.                     }
  832.                     logConsole.info("Protocol '"+protocol+"': Log4j config append");
  833.                     if(loggerPropertiesProtocolAdjunct!=null) {
  834.                         LoggerWrapperFactory.patchLoggers(loggerPropertiesProtocolAdjunct,  
  835.                                 org.openspcoop2.utils.Costanti.ENV_LOG_GOVWAY,
  836.                                 Map.of(org.openspcoop2.utils.Costanti.VAR_LOGGER_APPNAME, APP_NAME));
  837.                         LoggerWrapperFactory.setLogConfiguration(loggerPropertiesProtocolAdjunct,true);
  838.                         initializeLogDirs(loggerPropertiesProtocolAdjunct, true);
  839.                     }
  840.                    
  841.                     Logger log = LoggerWrapperFactory.getLogger(CostantiPdD.getOpenspcoop2LoggerFactoryName(protocol));
  842.                     protocolFactoryManager.getProtocolFactoryByName(protocol).initProtocolLogger(log);
  843.                     log.info("Inizializzazione completata");
  844.                    
  845.                 }
  846.             }
  847.            
  848.             return true;
  849.            
  850.         }catch(Exception e){
  851.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione del sistema di logging di OpenSPCoop per i protocolli: "
  852.                     +e.getMessage(),e);
  853.             return false;
  854.         }
  855.     }

  856.     /**
  857.      * Il Metodo si occupa di inizializzare gli appender personalizzati di OpenSPCoop che permettono di effettuare log dei msg diagnostici senza passare da log4j
  858.      * @param msgDiagConfig Configurazione
  859.      * @return true in caso di inizializzazione con successo, false altrimenti.
  860.      */
  861.     public static boolean initializeMsgDiagnosticiOpenSPCoopAppender(MessaggiDiagnostici msgDiagConfig){
  862.         try{
  863.             // Inizializzazione msg diagnostici appender personalizzati
  864.             if(msgDiagConfig!=null){
  865.                 ClassNameProperties prop = ClassNameProperties.getInstance();
  866.                 for(int i=0; i< msgDiagConfig.sizeOpenspcoopAppenderList(); i++){

  867.                     // MsgDiagAppenderClass
  868.                     String msgDiagAppenderClass = prop.getMsgDiagnosticoOpenSPCoopAppender(msgDiagConfig.getOpenspcoopAppender(i).getTipo());
  869.                     if(msgDiagAppenderClass == null){
  870.                         throw new CoreException("Riscontrato errore durante il caricamento del msg diagnostico appender ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"]: appender non registrato.");
  871.                     }

  872.                     // Carico appender richiesto
  873.                     IDiagnosticProducer appender = null;
  874.                     try{
  875.                         appender = (IDiagnosticProducer) Loader.getInstance().newInstance(msgDiagAppenderClass);
  876.                         appender.initializeAppender(msgDiagConfig.getOpenspcoopAppender(i));
  877.                     }catch(ClassNotFoundException e){
  878.                         throw new CoreException("Riscontrato errore durante il caricamento del msg diagnostico appender specificato ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  879.                     }catch(Exception e){
  880.                         throw new CoreException("Riscontrato errore durante l'inizializzazione del msg diagnostico appender specificato ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  881.                     }
  882.                    
  883.                     // Aggiungo agli appender registrati
  884.                     OpenSPCoop2Logger.loggerMsgDiagnosticoOpenSPCoopAppender.add(appender);
  885.                     OpenSPCoop2Logger.tipoMsgDiagnosticoOpenSPCoopAppender.add(msgDiagConfig.getOpenspcoopAppender(i).getTipo());
  886.                    
  887.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging: MsgDiagnosticoOpenSPCoopAppender di tipo ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"] correttamente inizializzato.");
  888.                    
  889.                 }
  890.             }
  891.             return true;
  892.         }catch(Exception e){
  893.             // Azzero gli appender personalizzati
  894.             OpenSPCoop2Logger.loggerMsgDiagnosticoOpenSPCoopAppender.clear();
  895.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione degli appender personalizzati per msg diagnostici: "
  896.                     +e.getMessage());
  897.             return false;
  898.         }
  899.     }

  900.    
  901.     /**
  902.      * Il Metodo si occupa di inizializzare gli appender personalizzati di OpenSPCoop che permettono di effettuare log dei tracciamenti senza passare da log4j
  903.      * @param tracciamentoConfig Configurazione
  904.      * @return true in caso di inizializzazione con successo, false altrimenti.
  905.      */
  906.     public static boolean initializeTracciamentoOpenSPCoopAppender(org.openspcoop2.core.config.Tracciamento tracciamentoConfig){
  907.         try{
  908.             // Inizializzazione tracciamento appender personalizzati
  909.             if(tracciamentoConfig!=null){
  910.                 ClassNameProperties prop = ClassNameProperties.getInstance();
  911.                 for(int i=0; i< tracciamentoConfig.sizeOpenspcoopAppenderList(); i++){
  912.                    
  913.                     // Tracciamento appender class
  914.                     String tracciamentoAppenderClass = prop.getTracciamentoOpenSPCoopAppender(tracciamentoConfig.getOpenspcoopAppender(i).getTipo());
  915.                     if(tracciamentoAppenderClass == null){
  916.                         throw new CoreException("Riscontrato errore durante il caricamento del tracciamento appender ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"]: appender non registrato.");
  917.                     }

  918.                     // Carico appender richiesto
  919.                     ITracciaProducer appender = null;
  920.                     try{
  921.                         appender = (ITracciaProducer) Loader.getInstance().newInstance(tracciamentoAppenderClass);
  922.                         appender.initializeAppender(tracciamentoConfig.getOpenspcoopAppender(i));
  923.                     }catch(ClassNotFoundException e){
  924.                         throw new CoreException("Riscontrato errore durante il caricamento del tracciamento appender specificato ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  925.                     }catch(Exception e){
  926.                         throw new CoreException("Riscontrato errore durante l'inizializzazione del tracciamento appender specificato ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  927.                     }
  928.                    
  929.                     // Aggiungo agli appender registrati
  930.                     OpenSPCoop2Logger.loggerTracciamentoOpenSPCoopAppender.add(appender);
  931.                     OpenSPCoop2Logger.tipoTracciamentoOpenSPCoopAppender.add(tracciamentoConfig.getOpenspcoopAppender(i).getTipo());
  932.                    
  933.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging: TracciamentoOpenSPCoopAppender di tipo ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"] correttamente inizializzato.");
  934.                    
  935.                 }
  936.             }
  937.             return true;
  938.         }catch(Exception e){
  939.             // Azzero gli appender personalizzati
  940.             OpenSPCoop2Logger.loggerTracciamentoOpenSPCoopAppender.clear();
  941.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione degli appender personalizzati per il tracciamento: "
  942.                     +e.getMessage());
  943.             return false;
  944.         }
  945.     }
  946.    
  947.     /**
  948.      * Il Metodo si occupa di inizializzare gli appender personalizzati di OpenSPCoop che permettono di effettuare log dei dump applicativi senza passare da log4j
  949.      * @param dumpConfig Configurazione
  950.      * @return true in caso di inizializzazione con successo, false altrimenti.
  951.      */
  952.     public static boolean initializeDumpOpenSPCoopAppender(org.openspcoop2.core.config.Dump dumpConfig){
  953.         try{
  954.             // Inizializzazione dump appender personalizzati
  955.             if(dumpConfig!=null){
  956.                 ClassNameProperties prop = ClassNameProperties.getInstance();
  957.                 for(int i=0; i< dumpConfig.sizeOpenspcoopAppenderList(); i++){
  958.                    
  959.                     // Dump Appender class
  960.                     String dumpAppenderClass = prop.getDumpOpenSPCoopAppender(dumpConfig.getOpenspcoopAppender(i).getTipo());
  961.                     if(dumpAppenderClass == null){
  962.                         throw new CoreException("Riscontrato errore durante il caricamento del dump appender ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"]: appender non registrato.");
  963.                     }

  964.                     // Carico appender richiesto
  965.                     IDumpProducer appender = null;
  966.                     try{
  967.                         appender = (IDumpProducer) Loader.getInstance().newInstance(dumpAppenderClass);
  968.                         appender.initializeAppender(dumpConfig.getOpenspcoopAppender(i));
  969.                     }catch(ClassNotFoundException e){
  970.                         throw new CoreException("Riscontrato errore durante il caricamento del dump appender specificato ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  971.                     }catch(Exception e){
  972.                         throw new CoreException("Riscontrato errore durante l'inizializzazione del dump appender specificato ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  973.                     }
  974.                    
  975.                     // Aggiungo agli appender registrati
  976.                     OpenSPCoop2Logger.loggerDumpOpenSPCoopAppender.add(appender);
  977.                     OpenSPCoop2Logger.tipoDumpOpenSPCoopAppender.add(dumpConfig.getOpenspcoopAppender(i).getTipo());
  978.                    
  979.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging: DumpOpenSPCoopAppender di tipo ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"] correttamente inizializzato.");
  980.                 }
  981.             }
  982.             return true;
  983.         }catch(Exception e){
  984.             // Azzero gli appender personalizzati
  985.             OpenSPCoop2Logger.loggerDumpOpenSPCoopAppender.clear();
  986.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione degli appender personalizzati per il dump applicativo: "
  987.                     +e.getMessage());
  988.             return false;
  989.         }
  990.     }
  991.    

  992.     public static String humanReadable(MsgDiagnostico msgDiag,IProtocolFactory<?> protocolFactory){
  993.         return humanReadable(msgDiag, null, null,
  994.                 null, false, null, null, null, protocolFactory);
  995.     }
  996.     /**
  997.      * Trasforma il messaggio diagnostico in una forma leggibile.
  998.      *
  999.      * @param msgDiag MSg diagnostico
  1000.      * @param idCorrelazioneApplicativa Identificativo di correlazione applicativa
  1001.      * @param porta Identificativo della Porta
  1002.      * @param delegata Indicazione se siamo in un contesto di porta delegata o applicativa
  1003.      * @param fruitore Fruitore
  1004.      * @param servizio Servizio
  1005.      * @param servizioApplicativo Servizio Applicativo
  1006.      * @return messaggio diagnostico in una forma leggibile.
  1007.      */
  1008.     public static String humanReadable(MsgDiagnostico msgDiag,String idCorrelazioneApplicativa,String idCorrelazioneApplicativaRisposta,
  1009.             String porta,boolean delegata,IDSoggetto fruitore,IDServizio servizio,String servizioApplicativo,IProtocolFactory<?> protocolFactory){

  1010.         String protocol = null;
  1011.         if(protocolFactory!=null) {
  1012.             protocol = protocolFactory.getProtocol();
  1013.         }
  1014.        
  1015.         boolean formatValues = false;
  1016.         if(protocol!=null) {
  1017.             formatValues = OpenSPCoop2Properties.getInstance().isRegistrazioneDiagnosticaFile_intestazione_formatValues();
  1018.         }
  1019.        
  1020.         Date gdo = msgDiag.getGdo();
  1021.         String idPorta = msgDiag.getIdSoggetto().getCodicePorta()+"."+msgDiag.getIdSoggetto().toString();
  1022.         if(formatValues) {
  1023.             try {
  1024.                 idPorta = NamingUtils.getLabelSoggetto(protocol, msgDiag.getIdSoggetto());
  1025.             }catch(Exception e) {}
  1026.         }
  1027.         String idFunzione = msgDiag.getIdFunzione();
  1028.         int valueLivello = msgDiag.getSeverita();
  1029.         String text = msgDiag.getMessaggio();
  1030.         String idBusta = msgDiag.getIdBusta();
  1031.         String codiceDiagnostico = msgDiag.getCodice();
  1032.        
  1033.         StringBuilder showMsg = new StringBuilder();
  1034.        
  1035.         if(protocol!=null) {
  1036.             String labelP = protocol;
  1037.             if(formatValues) {
  1038.                 try {
  1039.                     labelP = NamingUtils.getLabelProtocollo(protocol);
  1040.                 }catch(Exception e) {}
  1041.             }
  1042.             showMsg.append("<").append(labelP).append(">");
  1043.         }
  1044.        
  1045.         if(msgDiag.getIdTransazione()!=null) {
  1046.             if(showMsg.length()>0){
  1047.                 showMsg.append(" ");
  1048.             }
  1049.             showMsg.append(msgDiag.getIdTransazione());
  1050.         }
  1051.        
  1052.         if(OpenSPCoop2Logger.pddContextSerializer!=null){
  1053.             Map<String, String> contextSerializerParameters = OpenSPCoop2Logger.pddContextSerializer.getLoggerKeywords();
  1054.             if(contextSerializerParameters!=null && contextSerializerParameters.size()>0){
  1055.                 for (String keyword : contextSerializerParameters.keySet()) {
  1056.                     if(msgDiag.getPropertiesNames()!=null){
  1057.                         String [] propertyNames = msgDiag.getPropertiesNames();
  1058.                         for (int i = 0; i < propertyNames.length; i++) {
  1059.                             if(keyword.equals(propertyNames[i])){
  1060.                                 if(showMsg.length()>0){
  1061.                                     showMsg.append(" ");
  1062.                                 }
  1063.                                 showMsg.append(propertyNames[i]+":");
  1064.                                 showMsg.append(msgDiag.getProperty(propertyNames[i]));
  1065.                             }
  1066.                         }
  1067.                     }
  1068.                 }
  1069.             }
  1070.         }
  1071.        
  1072.         if(codiceDiagnostico!=null){
  1073.             if(showMsg.length()>0){
  1074.                 showMsg.append(" ");
  1075.             }
  1076.             showMsg.append(codiceDiagnostico);
  1077.             showMsg.append(" ");
  1078.         }
  1079.         showMsg.append(idPorta);
  1080.         showMsg.append(" ");
  1081.         showMsg.append(idFunzione);
  1082.         showMsg.append(" <");
  1083.         showMsg.append(DateBuilder.getDate_Format(gdo));
  1084.         showMsg.append("> ");
  1085.         showMsg.append("(");
  1086.         showMsg.append((LogLevels.toLog4J(valueLivello)).toString());
  1087.         showMsg.append(")");
  1088.         if(idBusta!=null){
  1089.             showMsg.append(" ID:");
  1090.             showMsg.append(idBusta);
  1091.         }
  1092.         if(idCorrelazioneApplicativa!=null){
  1093.             showMsg.append(" IDApplicativo:");
  1094.             showMsg.append(idCorrelazioneApplicativa);
  1095.         }
  1096.         if(idCorrelazioneApplicativaRisposta!=null){
  1097.             showMsg.append(" IDApplicativoRisposta:");
  1098.             showMsg.append(idCorrelazioneApplicativaRisposta);
  1099.         }
  1100.         if(porta!=null && !"".equals(porta)) {
  1101.             String labelPorta = porta;
  1102.             // E' meglio vedere esattamente il nome della PD/PA. O in alternativa levarlo proprio. Senno' le PD/PA specific come si visualizzano??
  1103. //          if(formatValues) {
  1104. //              try {
  1105. //                  org.openspcoop2.protocol.utils.PorteNamingUtils utils = new org.openspcoop2.protocol.utils.PorteNamingUtils(protocolFactory);
  1106. //                  if(delegata) {
  1107. //                      labelPorta = utils.normalizePD(porta);
  1108. //                  }
  1109. //                  else {
  1110. //                      labelPorta = utils.normalizePA(porta);
  1111. //                  }
  1112. //              }catch(Exception e) {}
  1113. //          }
  1114.             if(delegata) {
  1115.                 showMsg.append(" OUT:"+labelPorta);
  1116.             }else {
  1117.                 showMsg.append(" IN:"+labelPorta);
  1118.             }
  1119.         }
  1120.         if(servizioApplicativo!=null){
  1121.             if(formatValues) {
  1122.                 if(delegata && !CostantiPdD.SERVIZIO_APPLICATIVO_ANONIMO.equals(servizioApplicativo)) {
  1123.                     showMsg.append(" Applicativo:"+servizioApplicativo);
  1124.                 }
  1125.             }
  1126.             else {
  1127.                 showMsg.append(" SA:"+servizioApplicativo);
  1128.             }
  1129.         }
  1130.         if( fruitore!=null && fruitore.getNome()!=null ){
  1131.             showMsg.append(" FR:");
  1132.             String fruitoreLabel = fruitore.toString();
  1133.             if(formatValues) {
  1134.                 try {
  1135.                     fruitoreLabel = NamingUtils.getLabelSoggetto(protocol, fruitore);
  1136.                 }catch(Exception e) {}
  1137.             }
  1138.             showMsg.append(fruitoreLabel);
  1139.         }
  1140.         if( fruitore!=null && servizio!=null)
  1141.             showMsg.append(" -> ");
  1142.         if( servizio!=null ){
  1143.             if(servizio.getNome()!=null){
  1144.                 showMsg.append(" S:");
  1145.                 String servizioLabel = null;
  1146.                 try{
  1147.                     servizioLabel = IDServizioFactory.getInstance().getUriFromIDServizio(servizio);
  1148.                 }catch(Exception e){
  1149.                     servizioLabel = servizio.toString(false);
  1150.                 }
  1151.                 if(formatValues) {
  1152.                     try {
  1153.                         servizioLabel = NamingUtils.getLabelAccordoServizioParteSpecifica(protocol, servizio);
  1154.                     }catch(Exception e) {}
  1155.                 }
  1156.                 showMsg.append(servizioLabel);
  1157.             }else if(servizio.getSoggettoErogatore()!=null){
  1158.                 showMsg.append(" ER:");
  1159.                 String erogatoreLabel = servizio.getSoggettoErogatore().toString();
  1160.                 if(formatValues) {
  1161.                     try {
  1162.                         erogatoreLabel = NamingUtils.getLabelSoggetto(protocol, servizio.getSoggettoErogatore());
  1163.                     }catch(Exception e) {}
  1164.                 }
  1165.                 showMsg.append(erogatoreLabel);
  1166.             }
  1167.            
  1168.             if(servizio.getAzione()!=null){
  1169.                 showMsg.append(" A:");
  1170.                 showMsg.append(servizio.getAzione());
  1171.             }
  1172.         }
  1173.                
  1174.         showMsg.append("\n");
  1175.         showMsg.append(text);
  1176.         showMsg.append("\n");

  1177.         return showMsg.toString();


  1178.     }

  1179.     public static Logger getLoggerOpenSPCoopConsole() {
  1180.         return OpenSPCoop2Logger.loggerOpenSPCoopConsole;
  1181.     }

  1182.     public static Logger getLoggerOpenSPCoopCore() {
  1183.         return OpenSPCoop2Logger.loggerOpenSPCoopCore;
  1184.     }
  1185.    
  1186.     public static Logger getLoggerOpenSPCoopTimers() {
  1187.         return OpenSPCoop2Logger.loggerOpenSPCoopTimers;
  1188.     }
  1189.    
  1190.     public static Logger getLoggerOpenSPCoopResources() {
  1191.         return OpenSPCoop2Logger.loggerOpenSPCoopResources;
  1192.     }

  1193.     public static Logger getLoggerOpenSPCoopConfigurazioneSistema() {
  1194.         return OpenSPCoop2Logger.loggerOpenSPCoopConfigurazioneSistema;
  1195.     }

  1196.     public static Logger getLoggerOpenSPCoopProxy() {
  1197.         return OpenSPCoop2Logger.loggerOpenSPCoopProxy;
  1198.     }
  1199.    
  1200.     public static Logger getLoggerOpenSPCoopConnettori() {
  1201.         return OpenSPCoop2Logger.loggerOpenSPCoopConnettori;
  1202.     }
  1203.    
  1204.     public static Logger getLoggerOpenSPCoopDumpBinarioPD() {
  1205.         return OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPD;
  1206.     }
  1207.    
  1208.     public static Logger getLoggerOpenSPCoopDumpBinarioPA() {
  1209.         return OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPA;
  1210.     }
  1211.    
  1212.     public static Logger getLoggerOpenSPCoopTransazioni(boolean debug) {
  1213.         if(debug) {
  1214.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioni;
  1215.         }
  1216.         else {
  1217.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniError;
  1218.         }
  1219.     }
  1220.     public static Logger getLoggerOpenSPCoopTransazioniDevNull() {
  1221.         return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniDevNull;
  1222.     }
  1223.    
  1224.     public static Logger getLoggerOpenSPCoopTransazioniSql(boolean debug) {
  1225.         if(debug) {
  1226.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSql;
  1227.         }
  1228.         else {
  1229.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSqlError;
  1230.         }
  1231.     }
  1232.    
  1233.     public static Logger getLoggerOpenSPCoopTransazioniStateful(boolean debug) {
  1234.         if(debug) {
  1235.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStateful;
  1236.         }
  1237.         else {
  1238.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulError;
  1239.         }
  1240.     }
  1241.    
  1242.     public static Logger getLoggerOpenSPCoopTransazioniStatefulSql(boolean debug) {
  1243.         if(debug) {
  1244.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSql;
  1245.         }
  1246.         else {
  1247.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSqlError;
  1248.         }
  1249.     }
  1250.    
  1251.     public static Logger getLoggerOpenSPCoopTransazioniSlowLog() {
  1252.         return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSlowLog;
  1253.     }
  1254.    
  1255.     public static Logger getLoggerOpenSPCoopEventi(boolean debug) {
  1256.         if(debug) {
  1257.             return OpenSPCoop2Logger.loggerOpenSPCoopEventi;
  1258.         }
  1259.         else {
  1260.             return OpenSPCoop2Logger.loggerOpenSPCoopEventiError;
  1261.         }
  1262.     }
  1263.    
  1264.     public static Logger getLoggerOpenSPCoopFileSystemRecovery(boolean debug) {
  1265.         if(debug) {
  1266.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecovery;
  1267.         }
  1268.         else {
  1269.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoveryError;
  1270.         }
  1271.     }
  1272.    
  1273.     public static Logger getLoggerOpenSPCoopFileSystemRecoverySql(boolean debug) {
  1274.         if(debug) {
  1275.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySql;
  1276.         }
  1277.         else {
  1278.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySqlError;
  1279.         }
  1280.     }
  1281.    
  1282.     public static Logger getLoggerOpenSPCoopControlloTraffico(boolean debug) {
  1283.         if(debug) {
  1284.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTraffico;
  1285.         }
  1286.         else {
  1287.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoError;
  1288.         }
  1289.     }
  1290.    
  1291.     public static Logger getLoggerOpenSPCoopControlloTrafficoSql(boolean debug) {
  1292.         if(debug) {
  1293.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSql;
  1294.         }
  1295.         else {
  1296.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSqlError;
  1297.         }
  1298.     }
  1299.    
  1300.     public static Logger getLoggerOpenSPCoopAllarmi(boolean debug) {
  1301.         if(debug) {
  1302.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmi;
  1303.         }
  1304.         else {
  1305.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmiError;
  1306.         }
  1307.     }
  1308.    
  1309.     public static Logger getLoggerOpenSPCoopAllarmiSql(boolean debug) {
  1310.         if(debug) {
  1311.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSql;
  1312.         }
  1313.         else {
  1314.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSqlError;
  1315.         }
  1316.     }
  1317.    
  1318.     public static Logger getLoggerOpenSPCoopStatistiche(TipoIntervalloStatistico tipoStatistica, boolean debug) {
  1319.         if(debug) {
  1320.             switch (tipoStatistica) {
  1321.             case STATISTICHE_ORARIE:
  1322.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarie;
  1323.             case STATISTICHE_GIORNALIERE:
  1324.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliere;
  1325.             case STATISTICHE_SETTIMANALI:
  1326.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanali;
  1327.             case STATISTICHE_MENSILI:
  1328.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensili;
  1329.             }
  1330.         }
  1331.         else {
  1332.             switch (tipoStatistica) {
  1333.             case STATISTICHE_ORARIE:
  1334.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieError;
  1335.             case STATISTICHE_GIORNALIERE:
  1336.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereError;
  1337.             case STATISTICHE_SETTIMANALI:
  1338.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliError;
  1339.             case STATISTICHE_MENSILI:
  1340.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliError;
  1341.             }
  1342.         }
  1343.         return null;
  1344.     }
  1345.    
  1346.     public static Logger getLoggerOpenSPCoopStatisticheSql(TipoIntervalloStatistico tipoStatistica, boolean debug) {
  1347.         if(debug) {
  1348.             switch (tipoStatistica) {
  1349.             case STATISTICHE_ORARIE:
  1350.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSql;
  1351.             case STATISTICHE_GIORNALIERE:
  1352.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSql;
  1353.             case STATISTICHE_SETTIMANALI:
  1354.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSql;
  1355.             case STATISTICHE_MENSILI:
  1356.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSql;
  1357.             }
  1358.         }
  1359.         else {
  1360.             switch (tipoStatistica) {
  1361.             case STATISTICHE_ORARIE:
  1362.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSqlError;
  1363.             case STATISTICHE_GIORNALIERE:
  1364.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSqlError;
  1365.             case STATISTICHE_SETTIMANALI:
  1366.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSqlError;
  1367.             case STATISTICHE_MENSILI:
  1368.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSqlError;
  1369.             }
  1370.         }
  1371.         return null;
  1372.     }
  1373.    
  1374.     public static Logger getLoggerOpenSPCoopConsegnaContenuti(boolean debug) {
  1375.         if(debug) {
  1376.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenuti;
  1377.         }
  1378.         else {
  1379.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiError;
  1380.         }
  1381.     }
  1382.    
  1383.     public static Logger getLoggerOpenSPCoopConsegnaContenutiSql(boolean debug) {
  1384.         if(debug) {
  1385.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSql;
  1386.         }
  1387.         else {
  1388.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSqlError;
  1389.         }
  1390.     }
  1391.    
  1392.     public static Logger getLoggerOpenSPCoopPlugins(boolean debug) {
  1393.         if(debug) {
  1394.             return OpenSPCoop2Logger.loggerOpenSPCoopPlugins;
  1395.         }
  1396.         else {
  1397.             return OpenSPCoop2Logger.loggerOpenSPCoopPluginsError;
  1398.         }
  1399.     }
  1400.    
  1401.     public static Logger getLoggerOpenSPCoopPluginsSql(boolean debug) {
  1402.         if(debug) {
  1403.             return OpenSPCoop2Logger.loggerOpenSPCoopPluginsSql;
  1404.         }
  1405.         else {
  1406.             return OpenSPCoop2Logger.loggerOpenSPCoopPluginsSqlError;
  1407.         }
  1408.     }
  1409.    
  1410.     public static Logger getLoggerOpenSPCoopGestoreChiaviPDND(boolean debug) {
  1411.         if(debug) {
  1412.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDND;
  1413.         }
  1414.         else {
  1415.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDNDError;
  1416.         }
  1417.     }
  1418.    
  1419.     public static Logger getLoggerOpenSPCoopGestoreOperazioniRemote(boolean debug) {
  1420.         if(debug) {
  1421.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemote;
  1422.         }
  1423.         else {
  1424.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemoteError;
  1425.         }
  1426.     }
  1427.    
  1428.     public static List<IDiagnosticProducer> getLoggerMsgDiagnosticoOpenSPCoopAppender() {
  1429.         return OpenSPCoop2Logger.loggerMsgDiagnosticoOpenSPCoopAppender;
  1430.     }

  1431.     public static List<String> getTipoMsgDiagnosticoOpenSPCoopAppender() {
  1432.         return OpenSPCoop2Logger.tipoMsgDiagnosticoOpenSPCoopAppender;
  1433.     }

  1434.     public static List<ITracciaProducer> getLoggerTracciamentoOpenSPCoopAppender() {
  1435.         return OpenSPCoop2Logger.loggerTracciamentoOpenSPCoopAppender;
  1436.     }

  1437.     public static List<String> getTipoTracciamentoOpenSPCoopAppender() {
  1438.         return OpenSPCoop2Logger.tipoTracciamentoOpenSPCoopAppender;
  1439.     }

  1440. }