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.     protected static Logger loggerOpenSPCoopStatistichePdndGenerazione = null;
  158.     protected static Logger loggerOpenSPCoopStatistichePdndGenerazioneError = null;
  159.     protected static Logger loggerOpenSPCoopStatistichePdndPubblicazione = null;
  160.     protected static Logger loggerOpenSPCoopStatistichePdndPubblicazioneError = null;
  161.     /**  Logger log4j utilizzato per le statistiche */
  162.     protected static Logger loggerOpenSPCoopStatisticheOrarieSql = null;
  163.     protected static Logger loggerOpenSPCoopStatisticheOrarieSqlError = null;
  164.     protected static Logger loggerOpenSPCoopStatisticheGiornaliereSql = null;
  165.     protected static Logger loggerOpenSPCoopStatisticheGiornaliereSqlError = null;
  166.     protected static Logger loggerOpenSPCoopStatisticheSettimanaliSql = null;
  167.     protected static Logger loggerOpenSPCoopStatisticheSettimanaliSqlError = null;
  168.     protected static Logger loggerOpenSPCoopStatisticheMensiliSql = null;
  169.     protected static Logger loggerOpenSPCoopStatisticheMensiliSqlError = null;
  170.     protected static Logger loggerOpenSPCoopStatistichePdndGenerazioneSql = null;
  171.     protected static Logger loggerOpenSPCoopStatistichePdndGenerazioneSqlError = null;
  172.     protected static Logger loggerOpenSPCoopStatistichePdndPubblicazioneSql = null;
  173.     protected static Logger loggerOpenSPCoopStatistichePdndPubblicazioneSqlError = null;
  174.     /**  Logger log4j utilizzato per consegna contenuti */
  175.     protected static Logger loggerOpenSPCoopConsegnaContenuti = null;
  176.     protected static Logger loggerOpenSPCoopConsegnaContenutiError = null;
  177.     /**  Logger log4j utilizzato per consegna contenuti */
  178.     protected static Logger loggerOpenSPCoopConsegnaContenutiSql = null;
  179.     protected static Logger loggerOpenSPCoopConsegnaContenutiSqlError = null;
  180.     /**  Logger log4j utilizzato per i Plugins */
  181.     protected static Logger loggerOpenSPCoopPlugins = null;
  182.     protected static Logger loggerOpenSPCoopPluginsError = null;
  183.     /**  Logger log4j utilizzato per i Plugins (sql) */
  184.     protected static Logger loggerOpenSPCoopPluginsSql = null;
  185.     protected static Logger loggerOpenSPCoopPluginsSqlError = null;
  186.     /**  Logger log4j utilizzato per il gestore delle chiavi PDND */
  187.     protected static Logger loggerOpenSPCoopGestoreChiaviPDND = null;
  188.     protected static Logger loggerOpenSPCoopGestoreChiaviPDNDError = null;
  189.     /**  Logger log4j utilizzato per il gestore delle operazioni remote */
  190.     protected static Logger loggerOpenSPCoopGestoreOperazioniRemote = null;
  191.     protected static Logger loggerOpenSPCoopGestoreOperazioniRemoteError = null;
  192.     /** Appender personalizzati per i messaggi diagnostici di OpenSPCoop */
  193.     public static List<IDiagnosticProducer> loggerMsgDiagnosticoOpenSPCoopAppender = new ArrayList<>();
  194.     public static List<String> tipoMsgDiagnosticoOpenSPCoopAppender = new ArrayList<>();
  195.     /** Appender personalizzati per i tracciamenti di OpenSPCoop */
  196.     public static List<ITracciaProducer> loggerTracciamentoOpenSPCoopAppender = new ArrayList<>();
  197.     public static List<String> tipoTracciamentoOpenSPCoopAppender = new ArrayList<>();
  198.     /** Appender personalizzati per i dump applicativi di OpenSPCoop */
  199.     public static List<IDumpProducer> loggerDumpOpenSPCoopAppender = new ArrayList<>();
  200.     public static List<String> tipoDumpOpenSPCoopAppender = new ArrayList<>();
  201.     /** PdDContextSerializer */
  202.     private static IPdDContextSerializer pddContextSerializer = null;
  203.     /** LogDir */
  204.     private static List<File> logDirs;
  205.     public static List<File> getLogDirs() {
  206.         return logDirs;
  207.     }

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

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

  692.             // STATISTICHE LOG 'Pdnd Generazione'
  693.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazione = LoggerWrapperFactory
  694.                     .getLogger("govway.statistiche_pdnd_tracciamento.generazione");
  695.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazione == null)
  696.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.generazione non trovato");

  697.             // STATISTICHE LOG (ERROR) 'Pdnd Generazione'
  698.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneError = LoggerWrapperFactory
  699.                     .getLogger("govway.statistiche_pdnd_tracciamento.generazione.error");
  700.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneError == null)
  701.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.generazione.error non trovato");

  702.             // STATISTICHE SQL LOG 'Pdnd Generazione'
  703.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneSql = LoggerWrapperFactory
  704.                     .getLogger("govway.statistiche_pdnd_tracciamento.generazione.sql");
  705.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneSql == null)
  706.                 throw new CoreException("Loggergovway.statistiche_pdnd_tracciamento.generazione.sql non trovato");

  707.             // STATISTICHE SQL LOG (ERROR) 'Pdnd Generazione'
  708.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneSqlError = LoggerWrapperFactory
  709.                     .getLogger("govway.statistiche_pdnd_tracciamento.generazione.sql.error");
  710.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneSqlError == null)
  711.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.generazione.sql.error non trovato");
  712.            
  713.             // STATISTICHE LOG 'Pdnd Pubblicazione'
  714.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazione = LoggerWrapperFactory
  715.                     .getLogger("govway.statistiche_pdnd_tracciamento.pubblicazione");
  716.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazione == null)
  717.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.pubblicazione non trovato");

  718.             // STATISTICHE LOG (ERROR) 'Pdnd Pubblicazione'
  719.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneError = LoggerWrapperFactory
  720.                     .getLogger("govway.statistiche_pdnd_tracciamento.pubblicazione.error");
  721.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneError == null)
  722.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.pubblicazione.error non trovato");

  723.             // STATISTICHE SQL LOG 'Pdnd Pubblicazione'
  724.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneSql = LoggerWrapperFactory
  725.                     .getLogger("govway.statistiche_pdnd_tracciamento.pubblicazione.sql");
  726.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneSql == null)
  727.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.pubblicazione.sql non trovato");

  728.             // STATISTICHE SQL LOG (ERROR) 'Pdnd Pubblicazione'
  729.             OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneSqlError = LoggerWrapperFactory
  730.                     .getLogger("govway.statistiche_pdnd_tracciamento.pubblicazione.sql.error");
  731.             if (OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneSqlError == null)
  732.                 throw new CoreException("Logger govway.statistiche_pdnd_tracciamento.pubblicazione.sql.error non trovato");
  733.            
  734.             // CONSEGNA_CONTENUTI LOG
  735.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenuti = LoggerWrapperFactory.getLogger("govway.consegna_messaggi");
  736.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenuti==null)
  737.                 throw new CoreException("Logger govway.consegna_messaggi non trovato");
  738.            
  739.             // CONSEGNA_CONTENUTI LOG (ERROR)
  740.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiError = LoggerWrapperFactory.getLogger("govway.consegna_messaggi.error");
  741.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiError==null)
  742.                 throw new CoreException("Logger govway.consegna_messaggi.error non trovato");
  743.            
  744.             // CONSEGNA_CONTENUTI SQL LOG
  745.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSql = LoggerWrapperFactory.getLogger("govway.consegna_messaggi.sql");
  746.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSql==null)
  747.                 throw new CoreException("Logger govway.consegna_messaggi.sql non trovato");
  748.            
  749.             // CONSEGNA_CONTENUTI SQL LOG (ERROR)
  750.             OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSqlError = LoggerWrapperFactory.getLogger("govway.consegna_messaggi.sql.error");
  751.             if(OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSqlError==null)
  752.                 throw new CoreException("Logger govway.consegna_messaggi.sql.error non trovato");

  753.             // PLUGINS LOG
  754.             OpenSPCoop2Logger.loggerOpenSPCoopPlugins = LoggerWrapperFactory.getLogger("govway.plugins");
  755.             if(OpenSPCoop2Logger.loggerOpenSPCoopPlugins==null)
  756.                 throw new CoreException("Logger govway.plugins non trovato");
  757.            
  758.             // PLUGINS LOG (ERROR)
  759.             OpenSPCoop2Logger.loggerOpenSPCoopPluginsError = LoggerWrapperFactory.getLogger("govway.plugins.error");
  760.             if(OpenSPCoop2Logger.loggerOpenSPCoopPluginsError==null)
  761.                 throw new CoreException("Logger govway.plugins.error non trovato");
  762.            
  763.             // PLUGINS SQL LOG
  764.             OpenSPCoop2Logger.loggerOpenSPCoopPluginsSql = LoggerWrapperFactory.getLogger("govway.plugins.sql");
  765.             if(OpenSPCoop2Logger.loggerOpenSPCoopPluginsSql==null)
  766.                 throw new CoreException("Logger govway.plugins.sql non trovato");
  767.            
  768.             // PLUGINS SQL LOG (ERROR)
  769.             OpenSPCoop2Logger.loggerOpenSPCoopPluginsSqlError = LoggerWrapperFactory.getLogger("govway.plugins.sql.error");
  770.             if(OpenSPCoop2Logger.loggerOpenSPCoopPluginsSqlError==null)
  771.                 throw new CoreException("Logger govway.plugins.sql.error non trovato");
  772.            
  773.             // GESTORE CHIAVI PDND LOG
  774.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDND = LoggerWrapperFactory.getLogger("govway.gestoreChiaviPDND");
  775.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDND==null)
  776.                 throw new CoreException("Logger govway.gestoreChiaviPDND non trovato");
  777.            
  778.             // GESTORE CHIAVI PDND LOG (ERROR)
  779.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDNDError = LoggerWrapperFactory.getLogger("govway.gestoreChiaviPDND.error");
  780.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDNDError==null)
  781.                 throw new CoreException("Logger govway.gestoreChiaviPDND.error non trovato");
  782.            
  783.             // GESTORE OPERAZIONI REMOTE LOG
  784.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemote = LoggerWrapperFactory.getLogger("govway.gestoreOperazioniRemote");
  785.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemote==null)
  786.                 throw new CoreException("Logger govway.gestoreOperazioniRemote non trovato");
  787.            
  788.             // GESTORE OPERAZIONI REMOTE LOG (ERROR)
  789.             OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemoteError = LoggerWrapperFactory.getLogger("govway.gestoreOperazioniRemote.error");
  790.             if(OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemoteError==null)
  791.                 throw new CoreException("Logger govway.gestoreOperazioniRemote.error non trovato");
  792.            
  793.             // CONSOLE
  794.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging correttamente inizializzato.");
  795.            
  796.             // PddContextSerializer
  797.             OpenSPCoop2Properties propertiesReader = OpenSPCoop2Properties.getInstance();
  798.             String pddContextSerializerClass = propertiesReader.getPddContextSerializer();
  799.             if(pddContextSerializerClass!=null && !CostantiConfigurazione.NONE.equals(pddContextSerializerClass)){
  800.                 try{
  801.                     OpenSPCoop2Logger.pddContextSerializer = (IPdDContextSerializer) Loader.getInstance().newInstance(pddContextSerializerClass);
  802.                 }catch(Exception e){
  803.                     throw new CoreException("Inizializzione IPdDContextSerializer non riuscita ["+pddContextSerializerClass+"]:"+e.getMessage(),e);
  804.                 }
  805.             }
  806.            
  807.             return true;
  808.         }catch(Exception e){
  809.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione del sistema di logging di OpenSPCoop: "
  810.                     +e.getMessage(),e);
  811.             return false;
  812.         }
  813.     }
  814.    
  815.     private static void loadExternal(Logger logConsole, String loggerProperty, String loggerPath, String rootDirectory,
  816.             java.util.Properties loggerProperties, Properties objectProperties) {
  817.            
  818.         // File Local Implementation
  819.         CollectionProperties loggerPropertiesRidefinito =  
  820.             PropertiesUtilities.searchLocalImplementation(CostantiPdD.OPENSPCOOP2_LOCAL_HOME,logConsole, loggerProperty ,loggerPath, rootDirectory);
  821.         if(loggerPropertiesRidefinito!=null && loggerPropertiesRidefinito.size()>0){
  822.             Enumeration<?> ridefinito = loggerPropertiesRidefinito.keys();
  823.             while (ridefinito.hasMoreElements()) {
  824.                 String key = (String) ridefinito.nextElement();
  825.                 String value = loggerPropertiesRidefinito.get(key);
  826.                 if(loggerProperties.containsKey(key)){
  827.                     //Object o =
  828.                     loggerProperties.remove(key);
  829.                 }
  830.                 loggerProperties.put(key, value);
  831.                 //System.out.println("CHECK NUOVO VALORE: "+loggerProperties.get(key));
  832.             }
  833.         }
  834.        
  835.         // File Object Implementation
  836.         if(objectProperties!=null && objectProperties.size()>0){
  837.             Enumeration<?> ridefinito = objectProperties.keys();
  838.             while (ridefinito.hasMoreElements()) {
  839.                 String key = (String) ridefinito.nextElement();
  840.                 String value = (String) objectProperties.get(key);
  841.                 if(loggerProperties.containsKey(key)){
  842.                     //Object o =
  843.                     loggerProperties.remove(key);
  844.                 }
  845.                 loggerProperties.put(key, value);
  846.                 //System.out.println("CHECK NUOVO VALORE: "+loggerProperties.get(key));
  847.             }
  848.         }

  849.     }
  850.    
  851.     public static boolean initializeProtocolLogger(Logger logConsole, boolean loadExternalConfiguration,String rootDirectory,
  852.             Properties objectProperties) {
  853.        
  854.         try{
  855.        
  856.             ProtocolFactoryManager protocolFactoryManager = ProtocolFactoryManager.getInstance();
  857.             Enumeration<String> protocolNames = protocolFactoryManager.getProtocolNames();
  858.             while (protocolNames.hasMoreElements()) {
  859.                 String protocol = (String) protocolNames.nextElement();
  860.                 if(protocolFactoryManager.isSupportedProtocolLogger(protocol)) {
  861.                    
  862.                     java.util.Properties loggerPropertiesProtocolAdjunct = null;
  863.                     InputStream isLoggerProtocol = OpenSPCoop2Logger.class.getResourceAsStream("/govway.protocolAdjunct.log4j2.properties");
  864.                     if(isLoggerProtocol!=null){
  865.                         String content = Utilities.getAsString(isLoggerProtocol, Charset.UTF_8.getValue());
  866.                         if(content!=null) {
  867.                             content = content.replaceAll(CostantiPdD.OPENSPCOOP2_LOGGER_PROTOCOL_ID_PROTOCOLLO, protocol);
  868.                             loggerPropertiesProtocolAdjunct = new java.util.Properties();
  869.                             StringReader sr = new StringReader(content);
  870.                             loggerPropertiesProtocolAdjunct.load(sr);
  871.                             sr.close();
  872.                         }
  873.                     }
  874.                     if(loadExternalConfiguration){
  875.                        
  876.                         loadExternal(logConsole, CostantiPdD.getOpenspcoop2LoggerProtocolProperties(protocol),
  877.                                 CostantiPdD.getOpenspcoop2LoggerProtocolLocalPath(protocol) ,
  878.                                 rootDirectory, loggerPropertiesProtocolAdjunct, objectProperties);
  879.                        
  880.                     }
  881.                     logConsole.info("Protocol '"+protocol+"': Log4j config append");
  882.                     if(loggerPropertiesProtocolAdjunct!=null) {
  883.                         LoggerWrapperFactory.patchLoggers(loggerPropertiesProtocolAdjunct,  
  884.                                 org.openspcoop2.utils.Costanti.ENV_LOG_GOVWAY,
  885.                                 Map.of(org.openspcoop2.utils.Costanti.VAR_LOGGER_APPNAME, APP_NAME));
  886.                         LoggerWrapperFactory.setLogConfiguration(loggerPropertiesProtocolAdjunct,true);
  887.                         initializeLogDirs(loggerPropertiesProtocolAdjunct, true);
  888.                     }
  889.                    
  890.                     Logger log = LoggerWrapperFactory.getLogger(CostantiPdD.getOpenspcoop2LoggerFactoryName(protocol));
  891.                     protocolFactoryManager.getProtocolFactoryByName(protocol).initProtocolLogger(log);
  892.                     log.info("Inizializzazione completata");
  893.                    
  894.                 }
  895.             }
  896.            
  897.             return true;
  898.            
  899.         }catch(Exception e){
  900.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione del sistema di logging di OpenSPCoop per i protocolli: "
  901.                     +e.getMessage(),e);
  902.             return false;
  903.         }
  904.     }

  905.     /**
  906.      * Il Metodo si occupa di inizializzare gli appender personalizzati di OpenSPCoop che permettono di effettuare log dei msg diagnostici senza passare da log4j
  907.      * @param msgDiagConfig Configurazione
  908.      * @return true in caso di inizializzazione con successo, false altrimenti.
  909.      */
  910.     public static boolean initializeMsgDiagnosticiOpenSPCoopAppender(MessaggiDiagnostici msgDiagConfig){
  911.         try{
  912.             // Inizializzazione msg diagnostici appender personalizzati
  913.             if(msgDiagConfig!=null){
  914.                 ClassNameProperties prop = ClassNameProperties.getInstance();
  915.                 for(int i=0; i< msgDiagConfig.sizeOpenspcoopAppenderList(); i++){

  916.                     // MsgDiagAppenderClass
  917.                     String msgDiagAppenderClass = prop.getMsgDiagnosticoOpenSPCoopAppender(msgDiagConfig.getOpenspcoopAppender(i).getTipo());
  918.                     if(msgDiagAppenderClass == null){
  919.                         throw new CoreException("Riscontrato errore durante il caricamento del msg diagnostico appender ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"]: appender non registrato.");
  920.                     }

  921.                     // Carico appender richiesto
  922.                     IDiagnosticProducer appender = null;
  923.                     try{
  924.                         appender = (IDiagnosticProducer) Loader.getInstance().newInstance(msgDiagAppenderClass);
  925.                         appender.initializeAppender(msgDiagConfig.getOpenspcoopAppender(i));
  926.                     }catch(ClassNotFoundException e){
  927.                         throw new CoreException("Riscontrato errore durante il caricamento del msg diagnostico appender specificato ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  928.                     }catch(Exception e){
  929.                         throw new CoreException("Riscontrato errore durante l'inizializzazione del msg diagnostico appender specificato ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  930.                     }
  931.                    
  932.                     // Aggiungo agli appender registrati
  933.                     OpenSPCoop2Logger.loggerMsgDiagnosticoOpenSPCoopAppender.add(appender);
  934.                     OpenSPCoop2Logger.tipoMsgDiagnosticoOpenSPCoopAppender.add(msgDiagConfig.getOpenspcoopAppender(i).getTipo());
  935.                    
  936.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging: MsgDiagnosticoOpenSPCoopAppender di tipo ["+msgDiagConfig.getOpenspcoopAppender(i).getTipo()+"] correttamente inizializzato.");
  937.                    
  938.                 }
  939.             }
  940.             return true;
  941.         }catch(Exception e){
  942.             // Azzero gli appender personalizzati
  943.             OpenSPCoop2Logger.loggerMsgDiagnosticoOpenSPCoopAppender.clear();
  944.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione degli appender personalizzati per msg diagnostici: "
  945.                     +e.getMessage());
  946.             return false;
  947.         }
  948.     }

  949.    
  950.     /**
  951.      * Il Metodo si occupa di inizializzare gli appender personalizzati di OpenSPCoop che permettono di effettuare log dei tracciamenti senza passare da log4j
  952.      * @param tracciamentoConfig Configurazione
  953.      * @return true in caso di inizializzazione con successo, false altrimenti.
  954.      */
  955.     public static boolean initializeTracciamentoOpenSPCoopAppender(org.openspcoop2.core.config.Tracciamento tracciamentoConfig){
  956.         try{
  957.             // Inizializzazione tracciamento appender personalizzati
  958.             if(tracciamentoConfig!=null){
  959.                 ClassNameProperties prop = ClassNameProperties.getInstance();
  960.                 for(int i=0; i< tracciamentoConfig.sizeOpenspcoopAppenderList(); i++){
  961.                    
  962.                     // Tracciamento appender class
  963.                     String tracciamentoAppenderClass = prop.getTracciamentoOpenSPCoopAppender(tracciamentoConfig.getOpenspcoopAppender(i).getTipo());
  964.                     if(tracciamentoAppenderClass == null){
  965.                         throw new CoreException("Riscontrato errore durante il caricamento del tracciamento appender ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"]: appender non registrato.");
  966.                     }

  967.                     // Carico appender richiesto
  968.                     ITracciaProducer appender = null;
  969.                     try{
  970.                         appender = (ITracciaProducer) Loader.getInstance().newInstance(tracciamentoAppenderClass);
  971.                         appender.initializeAppender(tracciamentoConfig.getOpenspcoopAppender(i));
  972.                     }catch(ClassNotFoundException e){
  973.                         throw new CoreException("Riscontrato errore durante il caricamento del tracciamento appender specificato ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  974.                     }catch(Exception e){
  975.                         throw new CoreException("Riscontrato errore durante l'inizializzazione del tracciamento appender specificato ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  976.                     }
  977.                    
  978.                     // Aggiungo agli appender registrati
  979.                     OpenSPCoop2Logger.loggerTracciamentoOpenSPCoopAppender.add(appender);
  980.                     OpenSPCoop2Logger.tipoTracciamentoOpenSPCoopAppender.add(tracciamentoConfig.getOpenspcoopAppender(i).getTipo());
  981.                    
  982.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging: TracciamentoOpenSPCoopAppender di tipo ["+tracciamentoConfig.getOpenspcoopAppender(i).getTipo()+"] correttamente inizializzato.");
  983.                    
  984.                 }
  985.             }
  986.             return true;
  987.         }catch(Exception e){
  988.             // Azzero gli appender personalizzati
  989.             OpenSPCoop2Logger.loggerTracciamentoOpenSPCoopAppender.clear();
  990.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione degli appender personalizzati per il tracciamento: "
  991.                     +e.getMessage());
  992.             return false;
  993.         }
  994.     }
  995.    
  996.     /**
  997.      * Il Metodo si occupa di inizializzare gli appender personalizzati di OpenSPCoop che permettono di effettuare log dei dump applicativi senza passare da log4j
  998.      * @param dumpConfig Configurazione
  999.      * @return true in caso di inizializzazione con successo, false altrimenti.
  1000.      */
  1001.     public static boolean initializeDumpOpenSPCoopAppender(org.openspcoop2.core.config.Dump dumpConfig){
  1002.         try{
  1003.             // Inizializzazione dump appender personalizzati
  1004.             if(dumpConfig!=null){
  1005.                 ClassNameProperties prop = ClassNameProperties.getInstance();
  1006.                 for(int i=0; i< dumpConfig.sizeOpenspcoopAppenderList(); i++){
  1007.                    
  1008.                     // Dump Appender class
  1009.                     String dumpAppenderClass = prop.getDumpOpenSPCoopAppender(dumpConfig.getOpenspcoopAppender(i).getTipo());
  1010.                     if(dumpAppenderClass == null){
  1011.                         throw new CoreException("Riscontrato errore durante il caricamento del dump appender ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"]: appender non registrato.");
  1012.                     }

  1013.                     // Carico appender richiesto
  1014.                     IDumpProducer appender = null;
  1015.                     try{
  1016.                         appender = (IDumpProducer) Loader.getInstance().newInstance(dumpAppenderClass);
  1017.                         appender.initializeAppender(dumpConfig.getOpenspcoopAppender(i));
  1018.                     }catch(ClassNotFoundException e){
  1019.                         throw new CoreException("Riscontrato errore durante il caricamento del dump appender specificato ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  1020.                     }catch(Exception e){
  1021.                         throw new CoreException("Riscontrato errore durante l'inizializzazione del dump appender specificato ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"]: "+e.getMessage());
  1022.                     }
  1023.                    
  1024.                     // Aggiungo agli appender registrati
  1025.                     OpenSPCoop2Logger.loggerDumpOpenSPCoopAppender.add(appender);
  1026.                     OpenSPCoop2Logger.tipoDumpOpenSPCoopAppender.add(dumpConfig.getOpenspcoopAppender(i).getTipo());
  1027.                    
  1028.                     OpenSPCoop2Logger.loggerOpenSPCoopConsole.info("Sistema di logging: DumpOpenSPCoopAppender di tipo ["+dumpConfig.getOpenspcoopAppender(i).getTipo()+"] correttamente inizializzato.");
  1029.                 }
  1030.             }
  1031.             return true;
  1032.         }catch(Exception e){
  1033.             // Azzero gli appender personalizzati
  1034.             OpenSPCoop2Logger.loggerDumpOpenSPCoopAppender.clear();
  1035.             OpenSPCoop2Logger.loggerOpenSPCoopConsole.error("Riscontrato errore durante l'inizializzazione degli appender personalizzati per il dump applicativo: "
  1036.                     +e.getMessage());
  1037.             return false;
  1038.         }
  1039.     }
  1040.    

  1041.     public static String humanReadable(MsgDiagnostico msgDiag,IProtocolFactory<?> protocolFactory){
  1042.         return humanReadable(msgDiag, null, null,
  1043.                 null, false, null, null, null, protocolFactory);
  1044.     }
  1045.     /**
  1046.      * Trasforma il messaggio diagnostico in una forma leggibile.
  1047.      *
  1048.      * @param msgDiag MSg diagnostico
  1049.      * @param idCorrelazioneApplicativa Identificativo di correlazione applicativa
  1050.      * @param porta Identificativo della Porta
  1051.      * @param delegata Indicazione se siamo in un contesto di porta delegata o applicativa
  1052.      * @param fruitore Fruitore
  1053.      * @param servizio Servizio
  1054.      * @param servizioApplicativo Servizio Applicativo
  1055.      * @return messaggio diagnostico in una forma leggibile.
  1056.      */
  1057.     public static String humanReadable(MsgDiagnostico msgDiag,String idCorrelazioneApplicativa,String idCorrelazioneApplicativaRisposta,
  1058.             String porta,boolean delegata,IDSoggetto fruitore,IDServizio servizio,String servizioApplicativo,IProtocolFactory<?> protocolFactory){

  1059.         String protocol = null;
  1060.         if(protocolFactory!=null) {
  1061.             protocol = protocolFactory.getProtocol();
  1062.         }
  1063.        
  1064.         boolean formatValues = false;
  1065.         if(protocol!=null) {
  1066.             formatValues = OpenSPCoop2Properties.getInstance().isRegistrazioneDiagnosticaFile_intestazione_formatValues();
  1067.         }
  1068.        
  1069.         Date gdo = msgDiag.getGdo();
  1070.         String idPorta = msgDiag.getIdSoggetto().getCodicePorta()+"."+msgDiag.getIdSoggetto().toString();
  1071.         if(formatValues) {
  1072.             try {
  1073.                 idPorta = NamingUtils.getLabelSoggetto(protocol, msgDiag.getIdSoggetto());
  1074.             }catch(Exception e) {}
  1075.         }
  1076.         String idFunzione = msgDiag.getIdFunzione();
  1077.         int valueLivello = msgDiag.getSeverita();
  1078.         String text = msgDiag.getMessaggio();
  1079.         String idBusta = msgDiag.getIdBusta();
  1080.         String codiceDiagnostico = msgDiag.getCodice();
  1081.        
  1082.         StringBuilder showMsg = new StringBuilder();
  1083.        
  1084.         if(protocol!=null) {
  1085.             String labelP = protocol;
  1086.             if(formatValues) {
  1087.                 try {
  1088.                     labelP = NamingUtils.getLabelProtocollo(protocol);
  1089.                 }catch(Exception e) {}
  1090.             }
  1091.             showMsg.append("<").append(labelP).append(">");
  1092.         }
  1093.        
  1094.         if(msgDiag.getIdTransazione()!=null) {
  1095.             if(showMsg.length()>0){
  1096.                 showMsg.append(" ");
  1097.             }
  1098.             showMsg.append(msgDiag.getIdTransazione());
  1099.         }
  1100.        
  1101.         if(OpenSPCoop2Logger.pddContextSerializer!=null){
  1102.             Map<String, String> contextSerializerParameters = OpenSPCoop2Logger.pddContextSerializer.getLoggerKeywords();
  1103.             if(contextSerializerParameters!=null && contextSerializerParameters.size()>0){
  1104.                 for (String keyword : contextSerializerParameters.keySet()) {
  1105.                     if(msgDiag.getPropertiesNames()!=null){
  1106.                         String [] propertyNames = msgDiag.getPropertiesNames();
  1107.                         for (int i = 0; i < propertyNames.length; i++) {
  1108.                             if(keyword.equals(propertyNames[i])){
  1109.                                 if(showMsg.length()>0){
  1110.                                     showMsg.append(" ");
  1111.                                 }
  1112.                                 showMsg.append(propertyNames[i]+":");
  1113.                                 showMsg.append(msgDiag.getProperty(propertyNames[i]));
  1114.                             }
  1115.                         }
  1116.                     }
  1117.                 }
  1118.             }
  1119.         }
  1120.        
  1121.         if(codiceDiagnostico!=null){
  1122.             if(showMsg.length()>0){
  1123.                 showMsg.append(" ");
  1124.             }
  1125.             showMsg.append(codiceDiagnostico);
  1126.             showMsg.append(" ");
  1127.         }
  1128.         showMsg.append(idPorta);
  1129.         showMsg.append(" ");
  1130.         showMsg.append(idFunzione);
  1131.         showMsg.append(" <");
  1132.         showMsg.append(DateBuilder.getDate_Format(gdo));
  1133.         showMsg.append("> ");
  1134.         showMsg.append("(");
  1135.         showMsg.append((LogLevels.toLog4J(valueLivello)).toString());
  1136.         showMsg.append(")");
  1137.         if(idBusta!=null){
  1138.             showMsg.append(" ID:");
  1139.             showMsg.append(idBusta);
  1140.         }
  1141.         if(idCorrelazioneApplicativa!=null){
  1142.             showMsg.append(" IDApplicativo:");
  1143.             showMsg.append(idCorrelazioneApplicativa);
  1144.         }
  1145.         if(idCorrelazioneApplicativaRisposta!=null){
  1146.             showMsg.append(" IDApplicativoRisposta:");
  1147.             showMsg.append(idCorrelazioneApplicativaRisposta);
  1148.         }
  1149.         if(porta!=null && !"".equals(porta)) {
  1150.             String labelPorta = porta;
  1151.             // E' meglio vedere esattamente il nome della PD/PA. O in alternativa levarlo proprio. Senno' le PD/PA specific come si visualizzano??
  1152. //          if(formatValues) {
  1153. //              try {
  1154. //                  org.openspcoop2.protocol.utils.PorteNamingUtils utils = new org.openspcoop2.protocol.utils.PorteNamingUtils(protocolFactory);
  1155. //                  if(delegata) {
  1156. //                      labelPorta = utils.normalizePD(porta);
  1157. //                  }
  1158. //                  else {
  1159. //                      labelPorta = utils.normalizePA(porta);
  1160. //                  }
  1161. //              }catch(Exception e) {}
  1162. //          }
  1163.             if(delegata) {
  1164.                 showMsg.append(" OUT:"+labelPorta);
  1165.             }else {
  1166.                 showMsg.append(" IN:"+labelPorta);
  1167.             }
  1168.         }
  1169.         if(servizioApplicativo!=null){
  1170.             if(formatValues) {
  1171.                 if(delegata && !CostantiPdD.SERVIZIO_APPLICATIVO_ANONIMO.equals(servizioApplicativo)) {
  1172.                     showMsg.append(" Applicativo:"+servizioApplicativo);
  1173.                 }
  1174.             }
  1175.             else {
  1176.                 showMsg.append(" SA:"+servizioApplicativo);
  1177.             }
  1178.         }
  1179.         if( fruitore!=null && fruitore.getNome()!=null ){
  1180.             showMsg.append(" FR:");
  1181.             String fruitoreLabel = fruitore.toString();
  1182.             if(formatValues) {
  1183.                 try {
  1184.                     fruitoreLabel = NamingUtils.getLabelSoggetto(protocol, fruitore);
  1185.                 }catch(Exception e) {}
  1186.             }
  1187.             showMsg.append(fruitoreLabel);
  1188.         }
  1189.         if( fruitore!=null && servizio!=null)
  1190.             showMsg.append(" -> ");
  1191.         if( servizio!=null ){
  1192.             if(servizio.getNome()!=null){
  1193.                 showMsg.append(" S:");
  1194.                 String servizioLabel = null;
  1195.                 try{
  1196.                     servizioLabel = IDServizioFactory.getInstance().getUriFromIDServizio(servizio);
  1197.                 }catch(Exception e){
  1198.                     servizioLabel = servizio.toString(false);
  1199.                 }
  1200.                 if(formatValues) {
  1201.                     try {
  1202.                         servizioLabel = NamingUtils.getLabelAccordoServizioParteSpecifica(protocol, servizio);
  1203.                     }catch(Exception e) {}
  1204.                 }
  1205.                 showMsg.append(servizioLabel);
  1206.             }else if(servizio.getSoggettoErogatore()!=null){
  1207.                 showMsg.append(" ER:");
  1208.                 String erogatoreLabel = servizio.getSoggettoErogatore().toString();
  1209.                 if(formatValues) {
  1210.                     try {
  1211.                         erogatoreLabel = NamingUtils.getLabelSoggetto(protocol, servizio.getSoggettoErogatore());
  1212.                     }catch(Exception e) {}
  1213.                 }
  1214.                 showMsg.append(erogatoreLabel);
  1215.             }
  1216.            
  1217.             if(servizio.getAzione()!=null){
  1218.                 showMsg.append(" A:");
  1219.                 showMsg.append(servizio.getAzione());
  1220.             }
  1221.         }
  1222.                
  1223.         showMsg.append("\n");
  1224.         showMsg.append(text);
  1225.         showMsg.append("\n");

  1226.         return showMsg.toString();


  1227.     }

  1228.     public static Logger getLoggerOpenSPCoopConsole() {
  1229.         return OpenSPCoop2Logger.loggerOpenSPCoopConsole;
  1230.     }

  1231.     public static Logger getLoggerOpenSPCoopCore() {
  1232.         return OpenSPCoop2Logger.loggerOpenSPCoopCore;
  1233.     }
  1234.    
  1235.     public static Logger getLoggerOpenSPCoopTimers() {
  1236.         return OpenSPCoop2Logger.loggerOpenSPCoopTimers;
  1237.     }
  1238.    
  1239.     public static Logger getLoggerOpenSPCoopResources() {
  1240.         return OpenSPCoop2Logger.loggerOpenSPCoopResources;
  1241.     }

  1242.     public static Logger getLoggerOpenSPCoopConfigurazioneSistema() {
  1243.         return OpenSPCoop2Logger.loggerOpenSPCoopConfigurazioneSistema;
  1244.     }

  1245.     public static Logger getLoggerOpenSPCoopProxy() {
  1246.         return OpenSPCoop2Logger.loggerOpenSPCoopProxy;
  1247.     }
  1248.    
  1249.     public static Logger getLoggerOpenSPCoopConnettori() {
  1250.         return OpenSPCoop2Logger.loggerOpenSPCoopConnettori;
  1251.     }
  1252.    
  1253.     public static Logger getLoggerOpenSPCoopDumpBinarioPD() {
  1254.         return OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPD;
  1255.     }
  1256.    
  1257.     public static Logger getLoggerOpenSPCoopDumpBinarioPA() {
  1258.         return OpenSPCoop2Logger.loggerOpenSPCoopDumpBinarioPA;
  1259.     }
  1260.    
  1261.     public static Logger getLoggerOpenSPCoopTransazioni(boolean debug) {
  1262.         if(debug) {
  1263.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioni;
  1264.         }
  1265.         else {
  1266.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniError;
  1267.         }
  1268.     }
  1269.     public static Logger getLoggerOpenSPCoopTransazioniDevNull() {
  1270.         return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniDevNull;
  1271.     }
  1272.    
  1273.     public static Logger getLoggerOpenSPCoopTransazioniSql(boolean debug) {
  1274.         if(debug) {
  1275.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSql;
  1276.         }
  1277.         else {
  1278.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSqlError;
  1279.         }
  1280.     }
  1281.    
  1282.     public static Logger getLoggerOpenSPCoopTransazioniStateful(boolean debug) {
  1283.         if(debug) {
  1284.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStateful;
  1285.         }
  1286.         else {
  1287.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulError;
  1288.         }
  1289.     }
  1290.    
  1291.     public static Logger getLoggerOpenSPCoopTransazioniStatefulSql(boolean debug) {
  1292.         if(debug) {
  1293.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSql;
  1294.         }
  1295.         else {
  1296.             return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniStatefulSqlError;
  1297.         }
  1298.     }
  1299.    
  1300.     public static Logger getLoggerOpenSPCoopTransazioniSlowLog() {
  1301.         return OpenSPCoop2Logger.loggerOpenSPCoopTransazioniSlowLog;
  1302.     }
  1303.    
  1304.     public static Logger getLoggerOpenSPCoopEventi(boolean debug) {
  1305.         if(debug) {
  1306.             return OpenSPCoop2Logger.loggerOpenSPCoopEventi;
  1307.         }
  1308.         else {
  1309.             return OpenSPCoop2Logger.loggerOpenSPCoopEventiError;
  1310.         }
  1311.     }
  1312.    
  1313.     public static Logger getLoggerOpenSPCoopFileSystemRecovery(boolean debug) {
  1314.         if(debug) {
  1315.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecovery;
  1316.         }
  1317.         else {
  1318.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoveryError;
  1319.         }
  1320.     }
  1321.    
  1322.     public static Logger getLoggerOpenSPCoopFileSystemRecoverySql(boolean debug) {
  1323.         if(debug) {
  1324.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySql;
  1325.         }
  1326.         else {
  1327.             return OpenSPCoop2Logger.loggerOpenSPCoopFileSystemRecoverySqlError;
  1328.         }
  1329.     }
  1330.    
  1331.     public static Logger getLoggerOpenSPCoopControlloTraffico(boolean debug) {
  1332.         if(debug) {
  1333.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTraffico;
  1334.         }
  1335.         else {
  1336.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoError;
  1337.         }
  1338.     }
  1339.    
  1340.     public static Logger getLoggerOpenSPCoopControlloTrafficoSql(boolean debug) {
  1341.         if(debug) {
  1342.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSql;
  1343.         }
  1344.         else {
  1345.             return OpenSPCoop2Logger.loggerOpenSPCoopControlloTrafficoSqlError;
  1346.         }
  1347.     }
  1348.    
  1349.     public static Logger getLoggerOpenSPCoopAllarmi(boolean debug) {
  1350.         if(debug) {
  1351.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmi;
  1352.         }
  1353.         else {
  1354.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmiError;
  1355.         }
  1356.     }
  1357.    
  1358.     public static Logger getLoggerOpenSPCoopAllarmiSql(boolean debug) {
  1359.         if(debug) {
  1360.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSql;
  1361.         }
  1362.         else {
  1363.             return OpenSPCoop2Logger.loggerOpenSPCoopAllarmiSqlError;
  1364.         }
  1365.     }
  1366.    
  1367.     public static Logger getLoggerOpenSPCoopStatistiche(TipoIntervalloStatistico tipoStatistica, boolean debug) {
  1368.         if(debug) {
  1369.             switch (tipoStatistica) {
  1370.             case STATISTICHE_ORARIE:
  1371.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarie;
  1372.             case STATISTICHE_GIORNALIERE:
  1373.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliere;
  1374.             case STATISTICHE_SETTIMANALI:
  1375.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanali;
  1376.             case STATISTICHE_MENSILI:
  1377.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensili;
  1378.             case PDND_GENERAZIONE_TRACCIAMENTO:
  1379.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazione;
  1380.             case PDND_PUBBLICAZIONE_TRACCIAMENTO:
  1381.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazione;
  1382.             }
  1383.         }
  1384.         else {
  1385.             switch (tipoStatistica) {
  1386.             case STATISTICHE_ORARIE:
  1387.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieError;
  1388.             case STATISTICHE_GIORNALIERE:
  1389.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereError;
  1390.             case STATISTICHE_SETTIMANALI:
  1391.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliError;
  1392.             case STATISTICHE_MENSILI:
  1393.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliError;
  1394.             case PDND_GENERAZIONE_TRACCIAMENTO:
  1395.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneError;
  1396.             case PDND_PUBBLICAZIONE_TRACCIAMENTO:
  1397.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneError;
  1398.             }
  1399.         }
  1400.         return null;
  1401.     }
  1402.    
  1403.     public static Logger getLoggerOpenSPCoopStatisticheSql(TipoIntervalloStatistico tipoStatistica, boolean debug) {
  1404.         if(debug) {
  1405.             switch (tipoStatistica) {
  1406.             case STATISTICHE_ORARIE:
  1407.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSql;
  1408.             case STATISTICHE_GIORNALIERE:
  1409.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSql;
  1410.             case STATISTICHE_SETTIMANALI:
  1411.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSql;
  1412.             case STATISTICHE_MENSILI:
  1413.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSql;
  1414.             case PDND_GENERAZIONE_TRACCIAMENTO:
  1415.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneSql;
  1416.             case PDND_PUBBLICAZIONE_TRACCIAMENTO:
  1417.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneSql;
  1418.             }
  1419.         }
  1420.         else {
  1421.             switch (tipoStatistica) {
  1422.             case STATISTICHE_ORARIE:
  1423.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheOrarieSqlError;
  1424.             case STATISTICHE_GIORNALIERE:
  1425.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheGiornaliereSqlError;
  1426.             case STATISTICHE_SETTIMANALI:
  1427.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheSettimanaliSqlError;
  1428.             case STATISTICHE_MENSILI:
  1429.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatisticheMensiliSqlError;
  1430.             case PDND_GENERAZIONE_TRACCIAMENTO:
  1431.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndGenerazioneSqlError;
  1432.             case PDND_PUBBLICAZIONE_TRACCIAMENTO:
  1433.                 return OpenSPCoop2Logger.loggerOpenSPCoopStatistichePdndPubblicazioneSqlError;
  1434.             }
  1435.         }
  1436.         return null;
  1437.     }
  1438.    
  1439.     public static Logger getLoggerOpenSPCoopConsegnaContenuti(boolean debug) {
  1440.         if(debug) {
  1441.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenuti;
  1442.         }
  1443.         else {
  1444.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiError;
  1445.         }
  1446.     }
  1447.    
  1448.     public static Logger getLoggerOpenSPCoopConsegnaContenutiSql(boolean debug) {
  1449.         if(debug) {
  1450.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSql;
  1451.         }
  1452.         else {
  1453.             return OpenSPCoop2Logger.loggerOpenSPCoopConsegnaContenutiSqlError;
  1454.         }
  1455.     }
  1456.    
  1457.     public static Logger getLoggerOpenSPCoopPlugins(boolean debug) {
  1458.         if(debug) {
  1459.             return OpenSPCoop2Logger.loggerOpenSPCoopPlugins;
  1460.         }
  1461.         else {
  1462.             return OpenSPCoop2Logger.loggerOpenSPCoopPluginsError;
  1463.         }
  1464.     }
  1465.    
  1466.     public static Logger getLoggerOpenSPCoopPluginsSql(boolean debug) {
  1467.         if(debug) {
  1468.             return OpenSPCoop2Logger.loggerOpenSPCoopPluginsSql;
  1469.         }
  1470.         else {
  1471.             return OpenSPCoop2Logger.loggerOpenSPCoopPluginsSqlError;
  1472.         }
  1473.     }
  1474.    
  1475.     public static Logger getLoggerOpenSPCoopGestoreChiaviPDND(boolean debug) {
  1476.         if(debug) {
  1477.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDND;
  1478.         }
  1479.         else {
  1480.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreChiaviPDNDError;
  1481.         }
  1482.     }
  1483.    
  1484.     public static Logger getLoggerOpenSPCoopGestoreOperazioniRemote(boolean debug) {
  1485.         if(debug) {
  1486.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemote;
  1487.         }
  1488.         else {
  1489.             return OpenSPCoop2Logger.loggerOpenSPCoopGestoreOperazioniRemoteError;
  1490.         }
  1491.     }
  1492.    
  1493.     public static List<IDiagnosticProducer> getLoggerMsgDiagnosticoOpenSPCoopAppender() {
  1494.         return OpenSPCoop2Logger.loggerMsgDiagnosticoOpenSPCoopAppender;
  1495.     }

  1496.     public static List<String> getTipoMsgDiagnosticoOpenSPCoopAppender() {
  1497.         return OpenSPCoop2Logger.tipoMsgDiagnosticoOpenSPCoopAppender;
  1498.     }

  1499.     public static List<ITracciaProducer> getLoggerTracciamentoOpenSPCoopAppender() {
  1500.         return OpenSPCoop2Logger.loggerTracciamentoOpenSPCoopAppender;
  1501.     }

  1502.     public static List<String> getTipoTracciamentoOpenSPCoopAppender() {
  1503.         return OpenSPCoop2Logger.tipoTracciamentoOpenSPCoopAppender;
  1504.     }

  1505. }