Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
documentazione_3di_riservata:docway4:descrizione_logs [2017/08/22 12:23] – [MailStorage Agent] ncandelora | documentazione_3di_riservata:docway4:descrizione_logs [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1 |
---|
====== Descrizione log applicativi di DocWay4, MSA e Equinotifier ====== | |
| |
Questo documento ha lo scopo di fornire alcune descrizioni relative alla lettura e analisi dei log prodotti dagli applicativi di 3D Informatica. | |
| |
===== DocWay4 ===== | |
| |
In DocWay la produzione dei log è affidata alla libreria di logging Apache log4j 1.2. \\ | |
La configurazione di base prevede la produzione di log ciclici: docway4.log, docway4.log.1…docway4.log.<n> e docway4-service.log, docway4-service.log.1…docway4-service.log.<n>: | |
| |
* **docway4.log**: si tratta dei log dell'applicativo DocWay vero e proprio, ossia della web application scritta utilizzando il framework Java Server Faces. Questi log sostanzialmente hanno come scopo quello di tracciare eventuali errori applicativi per facilitarne l'individuazione e la risoluzione. | |
* **docway4-service.log**: in questi log vengono tracciate tutte le richieste HTTP che vengono effettuate dalla web application DocWay4 verso la web application di backend denominata Service. Il Service identifica ossia lo strato software che riceve tutte le richieste, le elabora e restituisce il risultato. Questo log è destinato ad un utilizzo prettamente sistemistico per l'individuazione degli errori anche se traccia tutte le operazioni del sistema: utente, timestamp, parametri. | |
| |
<WRAP center round important 90%> | |
**Questi log vengono creati nella directory logs di Apache Tomcat 7.** | |
</WRAP> | |
| |
==== docway4.log ==== | |
| |
In questi log vengono tracciati gli accessi applicativi e il caricamento dei template utilizzati da Docway4: | |
| |
<code> | |
Esempio accesso utente: | |
2017-01-24 09:44:39,096 [ajp-bio-8009-exec-24] INFO - LoginFilter.doFilter(), remoteUser caricato: GRGNNL64B56D205V | |
| |
Esempio caricamento home: | |
2017-01-24 09:44:39,111 [ajp-bio-8009-exec-24] INFO - /DocWay4/docway/home.jsf entering request #37666 | |
| |
Esempio caricamento template: | |
2017-01-24 09:44:39,111 [ajp-bio-8009-exec-25] INFO - /DocWay4/docway/showdoc@arrivo.jsf exiting request #37665 (187ms) | |
</code> | |
| |
Non tutti gli errori riscontrati nel log sono significativi e pertanto possono essere tralasciati. Ad esempio i seguenti: | |
| |
<code> | |
2017-01-24 09:44:40,299 [ajp-bio-8009-exec-23] ERROR - NumConverter.getAsString(): got exception... For input string: "" | |
| |
2017-01-24 09:44:34,767 [ajp-bio-8009-exec-23] ERROR - ClassifConverter.getAsObject(): got exception... For input string: "A3.2" | |
</code> | |
| |
==== docway4-service.log ==== | |
| |
Tutte le richieste in ingresso vengono tracciate tramite una stringa del tipo: | |
| |
<wrap em><acl o docway jsp (resource path)> entering request #<request number> {key-value pairs (http parameters)}</wrap> | |
| |
Esempio: | |
<code> | |
2017-02-13 16:49:27,646 [http-bio-8080-exec-66] INFO - /DocWay4-service/application/xdocway/engine/xdocway.jsp entering request #292 {fascicoli_MostraGerarchia=, cuttingBranch=, personalView=, physDoc_infasc=, pwdLock=, cod_uff_infasc=, resourceFileCustomDir=, pwdInfo=, hierStatus=0, soggetto_infasc=, pos=0, qopt=0, lookup_xq=, physDoc=, selid=, languageMarker=traduzione@lingua, mansioni=Checker$#$RL0035;Sviluppatore$#$RL0003;Capo progetto$#$RL0002;Archivista professionista$#$RL0036, docStart=0, groups=, opt=0, currDate=20170213, pwdChangeInfo=, pageCount=12, host=, selTable=, cName=, qadj=0, lookup_campi=, propertyEntry=, jReportInfo=, selRac=, descrizione_rep=, stpTitle=, view=, language=it, showdocUOR=, qext=, cCount=, respUOR=, dt=xdocwaydoc, port=-1, _hca=, wfId=, appStringPreferences=§10§§§§§Si§Si§Si§A§No§§§3, query=, cIsPublic=, colsSize=, hierCount=24, dw4customTemplate=, revSel=, sele=0 0 ,103979, xdocwaydoc ;0, childLast=1, _hcf=, rangeDocs=, lookup_alias=, browser=, _r=, warnings=, verbo=query, rolesManagement=true, allotri=, qord=, matricola=PI000156, keypath='', globalFormRestore=, urlToLaunch=, enableIW=false, opNomePersona=Amministratore Docway, classif_infasc=, pwd=, nome_uff_infasc=, keyCount=12, userRights=, tipo_uff_infasc=, specificDbCode=, klAll=, lookup_db=, xMode=, count=0, jsessionid=F47BA65FC3BBA5F28C42F06EFBD9247B, noRef=, thBackPage=thBackPage, bAssegnaLinkFasc=, pathFiles=, wfPos=, wfAction=, codice_rep=, lookup_fieldVal=, nome_persona_infasc=, login=, wfMode=, db=xdocwaydoc, classif_cod_infasc=, dbTable=@qmainpage, thVOptions=, relation='', fromLookup=, wfLock=, flap=, xverb=, transformJava=, uri=/DocWay4-service/application/xdocway/engine/xdocway.jsp, xslExportFilterName=, docInGestioneUOR=#|#ç00003|Servizio Tecnico Bologna, WfFunctionInteractionManagerClass=, diritto_infasc=, keylist=, opCodPersona=PI000156, toDo=, appPreferences=2, doceditUOR=, startkey='', currYear=2017, wfText=, pwdPhysdoc=, uorInGestioneSelected=00003, qordIdx1=, classifFormat=, klRac=, embeddedApp=, repVisComp=, userInfo=Amministratore Docway (Servizio Tecnico Bologna) [fgrillini@3di.it] %Programmatore%, jReportParams=, _cd=&h3Story=false&dicitCategoria=Categoria|Categorie&dicitComunicazione=Comunicazione|Comunicazioni&organi=BOL-ORG_PROVA|Organo di prova||Flusso_liquidazione_fatturaPA_asolo|01|Inserimento punto all'odg|Flusso_liquidazione_fatturaPA_asolo|delibera#|#BOL-aa|aaaaa||Flusso_di_prova|aa| Inserimento punto all odg|Flusso di prova|delibera#|#BOL-3DI|Consigli di amministrazione|1.rtf|Giunta_informativa_responsabili_area;Giunta_informativa_responsabili_area|01;02|Proposta CDA;Comunicazione CDA|Giunta informativa responsabili area;Giunta informativa responsabili area|delibera;comunicazione&lista_odg=BOL-ORG_PROVA:#|#BOL-aa:#|#BOL-3DI:ncandelora@3di.it&lista_risultati=BOL-ORG_PROVA:#|#BOL-aa:#|#BOL-3DI:ncandelora@3di.it&lista_verbali=BOL-ORG_PROVA:#|#BOL-aa:#|#BOL-3DI:ncandelora@3di.it&lista_seduta=BOL-ORG_PROVA:#|#BOL-aa:#|#BOL-3DI:ncandelora@3di.it&baseDocUrl=http://docway-test.3di.it:80/DocWay4/docway/&, acl=, hierSearchShow=none, qordIdx=, errorMsgHandType=, inclusionFields=, specificAppCode=, exclusionFields=, wfFCount=, cod_persona_infasc=, hierSearchList=, wfActive=true, selectedWfDocs=, lookup_new=, wfDoc=, lookup_titolo=, cId=, user=, wfSelId=, aclDb=acl} | |
</code> | |
| |
La fine delle richieste viene tracciata tramite una stringa del tipo: | |
| |
<wrap em><acl o docway jsp (resource path)> exiting request #<request number> (<elapsed time>ms) | |
</wrap> | |
| |
Esempio: | |
<code> | |
2017-02-13 16:49:29,009 [http-bio-8080-exec-66] INFO - /DocWay4-service/application/xdocway/engine/xdocway.jsp exiting request #292 (1364ms) | |
</code> | |
| |
Anche in questo caso nel log vengono scritti errori non significativi che posso essere ignorati: | |
| |
<code> | |
2017-02-14 16:56:22,545 [http-bio-8080-exec-388] ERROR - invalid query="" | |
| |
2017-02-14 16:56:51,551 [http-bio-8080-exec-519] ERROR - 2017.02.14 16:56:51.551 conn 2 Errore di apertura | |
2017-02-14 16:56:51,551 [http-bio-8080-exec-519] ERROR - Error page caught an exception! | |
java.sql.SQLException: Errore di apertura | |
| |
2017-02-14 17:00:57,327 [http-bio-8080-exec-404] ERROR - 2017.02.14 17:00:57.327 conn 2 Attenzione: non trovato documento figlio | |
java.sql.SQLException: Attenzione: non trovato documento figlio | |
</code> | |
| |
Altre tipologie di errori sono invece gestiti applicativamente con un messaggio di errore proposto all’utente; anche questi pertanto possono essere ignorati: | |
| |
<code> | |
2017-02-14 17:02:04,236 [http-bio-8080-exec-420] ERROR - Email.sendWithMatricola(): got exception looking for email address for matricola PI001027 | |
java.lang.Exception: Indirizzo email non valido | |
| |
2017-02-14 17:05:35,401 [http-bio-8080-exec-470] ERROR - 2017.02.14 17:05:35.401 conn 2 Valore non univoco. Value is not unique Required Append (Violate 1337639) | |
java.sql.SQLException: Valore non univoco. Value is not unique Required Append (Violate 1337639) | |
</code> | |
| |
===== MailStorage Agent ===== | |
Il MailStorage è il servizio che si occupa di recuperare i messaggi di posta dalle casella configurate in ACL e generare bozze/protocolli nell’archivio Docway. | |
I log sono ciclici e localizzati al seguente percorso: | |
| |
<wrap em>/opt/3di.it/docway_extra/MailStorage/logs/msa_agent.log , msa_agent.log.1, ... | |
</wrap> | |
| |
Se fossero presenti più istanze di MSA, i log di troverebbero nella directory <wrap em>logs</wrap> di ogni singola istanza. | |
| |
La procedura di acquisizione dei messaggi inizia con l’accesso alla casella tramite le credenziali inserite in ACL; in questa fase possono verificarsi errori di autenticazione che sono mappati nel log: | |
| |
**Accesso a casella di posta semplice** | |
<code> | |
2017-01-20 07:16:03,690 INFO - storing email for mailbox 50 | |
2017-01-20 07:16:03,690 INFO - connected to xdocwaydoc | |
2017-01-20 07:16:03,690 INFO - Connessione.connect(String): dbName: xdocwaydoc | |
2017-01-20 07:16:03,690 INFO - Connessione.connect(String): connection already connected to db "xdocwaydoc" --> doRestore = 49 | |
2017-01-20 07:16:03,690 INFO - Notifying User: xw.msa | |
2017-01-20 07:16:03,690 INFO - Connessione.notifyUser(): getting ip address of localhost… | |
2017-01-20 07:16:03,690 INFO - Connessione.notifyUser(): notifying user "xw.msa" with ip address 10.55.240.107 on connection 0 | |
2017-01-20 07:16:03,690 INFO - ...checking for new mail: protocol: pop3 popHost: webmail.equitaliaonline.it popPort: 110 login: Eqtspapop000378 | |
2017-01-20 07:16:03,766 INFO - ... found 0 new messages | |
</code> | |
| |
**Accesso a casella di posta semplice con errore di autenticazione** | |
<code> | |
2017-01-19 19:36:48,286 INFO - storing email for mailbox 56 | |
2017-01-19 19:36:48,286 INFO - connected to xdocwaydoc | |
2017-01-19 19:36:48,286 INFO - Connessione.connect(String): dbName: xdocwaydoc | |
2017-01-19 19:36:48,286 INFO - Connessione.connect(String): connection already connected to db "xdocwaydoc" --> doRestore = 10 | |
2017-01-19 19:36:48,286 INFO - Notifying User: xw.msa | |
2017-01-19 19:36:48,286 INFO - Connessione.notifyUser(): getting ip address of localhost... | |
2017-01-19 19:36:48,286 INFO - Connessione.notifyUser(): notifying user "xw.msa" with ip address 10.55.240.107 on connection 0 | |
2017-01-19 19:36:48,286 INFO - ...checking for new mail: protocol: pop3 popHost: webmail.equitaliaonline.it popPort: 110 login: eqtserpop000540 | |
2017-01-19 19:36:48,417 ERROR - error retrieving mail for: protocol: pop3 popHost: webmail.equitaliaonline.it popPort: 110 login: eqtserpop000540 | |
javax.mail.AuthenticationFailedException: Logon failure: unknown user name or bad password. | |
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:209) | |
at javax.mail.Service.connect(Service.java:364) | |
at it.highwaytech.util.mailer.ReceiveSession.<init>(ReceiveSession.java:90) | |
at it.highwaytech.apps.generic.mailarchiver.MailBoxManager.storeEmail(MailBoxManager.java:366) | |
at it.highwaytech.apps.generic.mailarchiver.MailStorageAgent.main(MailStorageAgent.java:308) | |
</code> | |
| |
**Accesso a casella di posta certificata** | |
<code> | |
2017-01-20 07:02:33,280 INFO - storing email for interoperability mailbox 99 | |
2017-01-20 07:02:33,280 INFO - Connessione.connect(String): dbName: acl | |
2017-01-20 07:02:33,280 INFO - Connessione.connect(String): connection already connected to db "acl" --> doRestore = 18 | |
2017-01-20 07:02:33,280 INFO - Notifying User: xw.msa | |
2017-01-20 07:02:33,280 INFO - Connessione.notifyUser(): getting ip address of localhost... | |
2017-01-20 07:02:33,280 INFO - Connessione.notifyUser(): notifying user "xw.msa" with ip address 10.55.240.107 on connection 0 | |
2017-01-20 07:02:33,280 INFO - : rateazioni.MI@pec.equitaliariscossione.it | |
2017-01-20 07:02:33,280 INFO - looking for interperability documentModel... | |
2017-01-20 07:02:33,280 INFO - ...found | |
2017-01-20 07:02:33,280 INFO - Selezione.Search(): querying: '[docmodelname]=rateazioni_milano-monza-brianza_prot' (sort='',sel='null',opt=0,adj=0) | |
2017-01-20 07:02:33,280 INFO - FindWrapper.find(): find by query [docmodelname]=rateazioni_milano-monza-brianza_prot | |
2017-01-20 07:02:33,281 INFO - Selezione.Search(): found 1 elements | |
2017-01-20 07:02:33,284 INFO - mail box manager built. | |
2017-01-20 07:02:37,477 INFO - Messaggi n.0 | |
2017-01-20 07:02:37,477 INFO - No messages | |
2017-01-20 07:02:37,482 INFO - ...done | |
</code> | |
| |
**Accesso a casella di posta certificata con errore di autenticazione** | |
<code> | |
2017-01-20 07:02:37,482 INFO - storing email for interoperability mailbox 100 | |
2017-01-20 07:02:37,482 INFO - Connessione.connect(String): dbName: acl | |
2017-01-20 07:02:37,482 INFO - Connessione.connect(String): connection already connected to db "acl" --> doRestore = 19 | |
2017-01-20 07:02:37,482 INFO - Notifying User: xw.msa | |
2017-01-20 07:02:37,482 INFO - Connessione.notifyUser(): getting ip address of localhost... | |
2017-01-20 07:02:37,482 INFO - Connessione.notifyUser(): notifying user "xw.msa" with ip address 10.55.240.107 on connection 0 | |
2017-01-20 07:02:37,482 INFO - : rateazioni.LU_MC@pec.equitaliariscossione.it | |
2017-01-20 07:02:37,482 INFO - looking for interperability documentModel... | |
2017-01-20 07:02:37,482 INFO - ...found | |
2017-01-20 07:02:37,482 INFO - Selezione.Search(): querying: '[docmodelname]=rateazioni_lucca-massacarrara_prot' (sort='',sel='null',opt=0,adj=0) | |
2017-01-20 07:02:37,482 INFO - FindWrapper.find(): find by query [docmodelname]=rateazioni_lucca-massacarrara_prot | |
2017-01-20 07:02:37,484 INFO - Selezione.Search(): found 1 elements | |
2017-01-20 07:02:37,487 INFO - mail box manager built. | |
2017-01-20 07:02:39,110 ERROR - javax.mail.AuthenticationFailedException: [AUTH] Authentication failed. | |
2017-01-20 07:02:39,111 ERROR - error receiving session. | |
2017-01-20 07:02:39,111 INFO - ...done | |
</code> | |
| |
Ci sono altri errori che è possibile ricondurre a una configurazione errata del processo di acquisizione della mail: | |
| |
**Errore nella configurazione della casella in ACL** | |
<code> | |
2017-01-19 19:36:50,096 ERROR - com.sun.mail.util.MailConnectException: Couldn't connect to host, port: xdocwaydoc, 995; timeout 10000; | |
nested exception is: | |
java.net.UnknownHostException: xdocwaydoc | |
2017-01-19 19:36:50,096 ERROR - error receiving session. | |
</code> | |
| |
**RPA della bozza/protocollo è privo dell’indirizzo mail** | |
<code> | |
2017-01-19 19:39:01,133 ERROR - EMail.getEmailWithMatricola(): wrong email address: "" | |
2017-01-19 19:39:01,133 ERROR - Email.sendWithMatricola(): got exception looking for email address for matricola PI001025 | |
java.lang.Exception: Indirizzo email non valido | |
at it.highwaytech.apps.generic.mailarchiver.mail.EMail.getEmailWithMatricola(EMail.java:411) | |
at it.highwaytech.apps.generic.mailarchiver.mail.EMail.sendWithMatricola(EMail.java:238) | |
at it.highwaytech.apps.generic.mailarchiver.MailBoxManager.sendNotifyMails(MailBoxManager.java:1061) | |
at it.highwaytech.apps.generic.mailarchiver.Interoperabilita.processMessage(Interoperabilita.java:752) | |
at it.highwaytech.apps.generic.mailarchiver.Interoperabilita.handleMessagesForInteroperabilityMailbox(Interoperabilita.java:1141) | |
at it.highwaytech.apps.generic.mailarchiver.MailStorageAgent.main(MailStorageAgent.java:399) | |
2017-01-19 19:39:01,133 ERROR - Email.sendWithMatricola(): error looking for email address for matricola PI001025 | |
</code> | |
| |
===== EquiNotifier ===== | |
| |