Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:docway4:descrizione_logs

Questa è una vecchia versione del documento!


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.

Questi log vengono creati nella directory logs di Apache Tomcat 7.

docway4.log

In questi log vengono tracciati gli accessi applicativi e il caricamento dei template utilizzati da Docway4:

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)

Non tutti gli errori riscontrati nel log sono significativi e pertanto possono essere tralasciati. Ad esempio i seguenti:

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"

docway4-service.log

Tutte le richieste in ingresso vengono tracciate tramite una stringa del tipo:

<acl o docway jsp (resource path)> entering request #<request number> {key-value pairs (http parameters)}

Esempio:

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}

La fine delle richieste viene tracciata tramite una stringa del tipo:

<acl o docway jsp (resource path)> exiting request #<request number> (<elapsed time>ms)

Esempio:

2017-02-13 16:49:29,009 [http-bio-8080-exec-66] INFO  - /DocWay4-service/application/xdocway/engine/xdocway.jsp exiting request #292 (1364ms)

Anche in questo caso nel log vengono scritti errori non significativi che posso essere ignorati:

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

Altre tipologie di errori sono invece gestiti applicativamente con un messaggio di errore proposto all’utente; anche questi pertanto possono essere ignorati:

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)

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:

/opt/3di.it/docway_extra/MailStorage/logs/msa_agent.log , msa_agent.log.1, …

Se fossero presenti più istanze di MSA, i log di troverebbero nella directory logs 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

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

Accesso a casella di posta semplice con errore di autenticazione

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)

Accesso a casella di posta certificata

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

Accesso a casella di posta certificata con errore di autenticazione

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

Ci sono altri errori che è possibile ricondurre a una configurazione errata del processo di acquisizione della mail:

Errore nella configurazione della casella in ACL

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.

RPA della bozza/protocollo è privo dell’indirizzo mail

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

EquiNotifier

Ogni procedura EquiNotifier installata produce file di log specifici nella directory logs dedicata:

..\3di.it\docway_extra\EquiNotifier\NomeProcedura\logs\NomeProcedura.log

La procedura viene avviata ad intervalli orari predefiniti, configurati nel Task Scheduler del server di Front-End (10.55.241.76). Sul log ogni esecuzione della procedura viene evidenziato come segue:

2017-01-17 12:00:00,991 INFO  - starting EquiNotifier ver. 1.0.0
2017-01-17 12:00:01,007 INFO  - Current Timespamp: 20170117 - 12:00:00
2017-01-17 12:00:01,022 INFO  - Last Timespamp: 20170116 - 17:00:00
2017-01-17 12:00:01,054 INFO  - eXtraWay parameters. Db:'xdocwaydoc' Host:'localhost' Port:'4859'
2017-01-17 12:00:01,054 INFO  - SMTP parameters. Host:'smtp.equitaliaservizi.org' Port:'25' User:'/' Password:'/' Protocol:'smtp'
2017-01-17 12:00:29,009 INFO  - ...found 0 documents
2017-01-17 12:00:29,009 INFO  - correct termination

Il compito della procedura è quello di effettuare una ricerca sull’archivio Docway in base a determinati parametri e, per ogni documento trovato, generare un messaggio di posta elettronica da inviare ad uno specifico indirizzo.
Eventuali errori si possono verificare all’avvio della procedura (nel caso di parametri mancanti, ad esempio) oppure nell’invio dei singoli documenti. In caso di errori nell’invio dei singoli documenti viene prodotto un report che segnala ad uno specifico indirizzo di posta gli errori riscontrati sul processo.

/data/attic/documentazione_3di_riservata/docway4/descrizione_logs.1503397649.txt.gz · Ultima modifica: 2017/09/08 10:59 (modifica esterna)