INHALTSVERZEICHNIS
- Welche Logfiles gibt es?
- Wo sind sie zu finden?
- Was beinhalten die jeweiligen Logfiles?
- Logfile Beispiele
Welche Logfiles gibt es?
Tomcat (stout = ama2_tomcat-stdout.JJJJ-MM-TT.log und stderr = ama2_tomcat-stderr.JJJJ-MM-TT.log)
ACF (verschiedenste Logfiles von Komponenten wie Bondrucker, Hotelsoftware, IDEA usw.)
Sol (JJJJ-MM-TT-{#}_sol-log.txt)
Apache (error.log)
ATouch2 (JJJJ-MM-TT.log)
MySQL (mysql_error.log)
L3 Server (Amadeus3.log)
Wo sind sie zu finden?
Tomcat: ..\AmadeusII\tomcat8\logs
ACF: ..\AmadeusII\Amadeus\ACF\logs
Sol: ..\AmadeusII\Sol\SolService\logs
Apache: ..\AmadeusII\apache\logs
ATouch2: ..\AmadeusII\Amadeus\atouch2\logs
MySQL: ..\AmadeusII\mysql\data
L3 Server ..\AmadeusII\Amadeus\a360\logs
Was beinhalten die jeweiligen Logfiles?
Tomcat: Im Tomcat stdout-Log sind alle Eingaben eines Kellners aller Geräte (ATouch1+2, Orderman Sol+7+Leo) zu finden. Es beinhaltet außerdem, Informationen ob ein Bonausdruck stattgefunden hat, ob ein Drucker erreichbar war oder ob ein Schankkredit gesendet wurde.
ACF: In den einzelnen ACF Logfiles kann zum Beispiel im entsprechenden Logfile geprüft werden, ob ein Zimmertransfer stattgefunden hat (Protel.JJJ-MM-TT.log), ob ein Schrankkredit verarbeitet wurde und was die Schankanlage zurück geliefert hat (z.B. GruberSchankLog.JJJJ-MM-TT.log), ob ein Peripheriegerät erreichbar war oder nicht (acfDeviceManager.JJJJ-MM-TT.log).
Das ACF-Log ist generell auf ein niedriges Log-Level eingestellt. Wird zur Fehleranalyse ein höheres Log-Level benötigt, so kann dies über die Logger.xml im Verzeichnis ACF eingestellt werden. Genauere Infos zur Einrichtung finden sich unter diesem Link: https://support.gastro-mis.de/a/solutions/articles/36000188163.
Sol: Im Sol-Log wird festgehalten, ob eine Verbindung zur Basisstation (Antenne) als auch zum ACF vorhanden ist. Zudem wird darin jede Synchronisation aller Geräte festgehalten und ob das Gerät nach dem Sync Einsatzfähig ist. Kellnereingaben die am Terminal vorgenommen werden (wie z.B. An-/Abmeldung, Funktionen auswählen, Tisch Öffnung/Schließung, Abrechnung, Bonierung etc).
Apache: Hier wird ein Beenden des Apache-Dienstes festgehalten und es finden sich zudem Fehler (Errors), sofern welche auftreten.
ATouch2: Darin werden Verbindungsabbrüche zum ACF und Ausnahmefehler (Exceptions) festgehalten.
MySQL: Im MySQL Error-Log finden sich Einträge, wenn eine Datenbank korrupt/defekt ist oder ein Fehler in der Konfiguration von MySQL vorhanden ist.
L3 Server: Im Amadeus3.log kann festgestellt werden, ob die Kommunikation mit LINA funktioniert. Wenn Fehler auftreten oder die Synchronisation nicht erfolgreich stattfindet, ist dies in diesem Logfile nachvollziehbar.
Logfile Beispiele
Tomcat
Wenn Ausdruck nicht stattgefunden hat
PRINTTHREAD - EXCEPTION *** --> null
java.lang.NullPointerException
at amadeus.branch.documents.sectiongenerators.common.ChainedArticles.<init>(ChainedArticles.java:102)
at amadeus.branch.documents.sectiongenerators.bon.BonDetailGenerator.getRawData(BonDetailGenerator.java:256)
at amadeus.branch.documents.sectiongenerators.bon.BonDetailGenerator.getSectionData(BonDetailGenerator.java:124)
at amadeus.branch.documents.impl.DocumentGeneratorImpl.getOutput(DocumentGeneratorImpl.java:284)
at amadeus.branch.booking.impl.SlipManagerImpl.handleOrderCharging(SlipManagerImpl.java:574)
at amadeus.branch.booking.impl.SlipManagerImpl.handleOrderCharging(SlipManagerImpl.java:271)
at amadeus.branch.booking.impl.PrintThread.run(PrintThread.java:726)
at amadeus.branch.booking.impl.BookingManagerImpl.finalizeBookingsForAll(BookingManagerImpl.java:2361)
at amadeus.branch.booking.impl.BookingManagerImpl.finalizeBookingsForAllTablesOfWaiterTerminal(BookingManagerImpl.java:2262)
at amadeus.biz.interpreter.impl.WaiterCommandHandler.initializeWaiter(WaiterCommandHandler.java:102)
at amadeus.biz.interpreter.impl.WaiterCommandHandler.handleCommand(WaiterCommandHandler.java:68)
at amadeus.biz.interpreter.impl.AmadeusInterpreter.interpret(AmadeusInterpreter.java:211)
at amadeus.biz.session.AsqlSession.process(AsqlSession.java:393)
at amadeus.biz.session.AsqlSession.process(AsqlSession.java:201)
at amadeus.asql.server.AsqlProtocol.run(AsqlProtocol.java:267)
BookingManager/PrintThread: Printed bons for 330 in 14ms
ACF
Webservice-Treiber kann nicht gestartet werden
19.01.2017 03:53:59 Application rennt in der Console
Waiting for client message...
java.lang.ClassNotFoundException: amadeus.driver.web.WebDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at amadeus.asql.client.devicecoordinator.impl.DeviceDriverRegistry.load(
DeviceDriverRegistry.java:92)
at amadeus.asql.client.devicecoordinator.impl.AcfDevice.loadClass(AcfDev
ice.java:176)
at amadeus.asql.client.devicecoordinator.impl.DeviceCoordinatorImpl.addD
evice(DeviceCoordinatorImpl.java:198)
at amadeus.asql.client.impl.AcfClientManagerImpl.analyzeAccept(AcfClient
ManagerImpl.java:927)
at amadeus.asql.client.impl.AcfClientManagerImpl.start(AcfClientManagerI
mpl.java:631)
at amadeus.asql.client.impl.AcfClientManagerImpl.runIt(AcfClientManagerI
mpl.java:220)
at amadeus.asql.client.impl.AcfClientManagerImpl.main(AcfClientManagerIm
pl.java:409)
registering SOL 46015
Send to Server: set printer 400 version null
Sol
ACF Verbindung wurde getrennt
2017-06-19 14:32:40|Debug|14|[46015] AcfConnection --> stop;
2017-06-19 14:32:40|Error|14|[46015] AcfConnection In die Übertragungsverbindung können keine Daten geschrieben werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen.System.IO.IOException: In die Übertragungsverbindung können keine Daten geschrieben werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen. ---> System.Net.Sockets.SocketException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen
bei System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
bei System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
bei System.IO.StreamWriter.Flush()
bei AcfConnection.AcfConnection.send(String command) in D:\GIT\amadeusdev\amadeus-ii\sol.exe\Ama2Sol\AcfConnection\AcfConnection\AcfConnection.cs:Zeile 123. bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
bei System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
bei System.IO.StreamWriter.Flush()
bei AcfConnection.AcfConnection.send(String command) in D:\GIT\amadeusdev\amadeus-ii\sol.exe\Ama2Sol\AcfConnection\AcfConnection\AcfConnection.cs:Zeile 123.
Apache
Apache wurde beendet:
[Wed Jun 14 08:00:17.209005 2017] [mpm_winnt:notice] [pid 3952:tid 672] AH00422: Parent: Received shutdown signal -- Shutting down the server.
ATouch2
ACF ist für die ATouch2 nicht erreichbar
2017-06-20 08:53:01.1237 ERROR ACF ping Exception: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat 10.10.10.243:1410
Exception Beispiel
2017-06-10 13:02:58.7215 FATAL bei atouch2.acf.request(String asql) in C:\Dropbox\Projects\amadeus_kellner_interface\atouch2\acf.cs:Zeile 168.
bei atouch2.table.tablelist.opentablesplit(table source, table target) in C:\Dropbox\Projects\amadeus_kellner_interface\atouch2\table\tablelist.cs:Zeile 160.
bei atouch2_wpf.views.split.load_table_split(Boolean from_source) in C:\Dropbox\Projects\amadeus_kellner_interface\atouch2_wpf\views\split.xaml.cs:Zeile 42.
bei atouch2_wpf.views.split.<fast_pay>d__15.MoveNext() in C:\Dropbox\Projects\amadeus_kellner_interface\atouch2_wpf\views\split.xaml.cs:Zeile 382.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Loglevel anpassen
Um das Loglevel hochzusetzen müssen 2 Anpassungen in der "NLog.config"-Datei vorgenommen werden, welche im ATouch2-Verzeichnis zu finden ist.
Für das erweiterte Logging muss das Loglevel in Zeile 28 und 29 auf "Trace" angepasst werden (siehe gelbe Markierung).
Wird das erweiterte Logging nicht mehr benötigt, kann das Level wieder auf "Warn" und "Info" zurückgestellt werden (siehe gelbe Markierung).
MySQL
Meldung "Please use mysql_upgrade to fix this error." (Lösung (nur wenn diese Meldung erscheint!): db_cleanup.exe vom FTP aus dem Ordner 1.3.1 runterladen und in den Ordner ..\mysql\bin kopieren und ausführen).
2016-07-27 15:04:58 2188 [ERROR] Column count of mysql.threads is wrong. Expected 14, found 3. Created with MySQL 50525, now running 50619. Please use mysql_upgrade to fix this error.
Korrupte Datenbank können anhand des Textes "corruption in the InnoDB tablespace" festgestellt werden
2017-05-03 10:06:49 1ab8 InnoDB: Assertion failure in thread 6840 in file btr0sea.cc line 1380
InnoDB: Failing assertion: index->id == btr_page_get_index_id(page)
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com/.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
L3 Server
2020-07-23 16:27:51.0621 .ctor - INFO: Server Startup
2020-07-23 16:27:51.0972 .ctor - INFO: Version: 0.9.2.5
2020-07-23 16:27:51.3288 OnStart - INFO: Grapevine gestartet
2020-07-23 16:27:52.2689 OnStart - INFO: Datenbank verbunden: 5148 zcount: 1232
2020-07-23 16:27:52.2689 UpdateDatabase - INFO: Beginne Datenbank-Update!
2020-07-23 16:27:52.3312 UpdateDatabase - INFO: Starte Update 01.04.07
2020-07-23 16:27:52.3312 ExecuteUpdate - INFO: Check ob Spalten erstellt werden müssen.
2020-07-23 16:27:55.8259 ExecuteUpdate - INFO: Check beendet!
2020-07-23 16:27:55.8344 UpdateDatabase - INFO: Fertig mit Update 01.04.07
2020-07-23 16:27:55.8344 UpdateDatabase - INFO: Starte Update 01.04.08
2020-07-23 16:27:55.9224 ExecuteUpdate - INFO: Check ob Spalten erstellt werden müssen.
2020-07-23 16:27:55.9342 ExecuteUpdate - INFO: Check beendet!
2020-07-23 16:27:55.9415 ExecuteUpdate - INFO: Check ob Kollationen angepasst werden müssen.
2020-07-23 16:27:55.9415 ExecuteUpdate - INFO: Check beendet!
2020-07-23 16:27:55.9594 UpdateDatabase - INFO: Fertig mit Update 01.04.08
2020-07-23 16:27:56.0336 UpdateDatabase - INFO: Database update completed!
2020-07-23 16:28:17.0950 OnStop - INFO: Dienst wird gestoppt!