Hinweise zur Verwendung der Logging API im JDK 1.4

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Hinweise zur Verwendung der Logging API im JDK 1.4"

Transkript

1 Hinweise zur Verwendung der Logging API im JDK Oktober Inhalt 1 Logging Übersicht Logger Handler Logging Properties-File Logging Levels SEVERE WARNING INFO CONFIG FINE FINER FINEST Beispiele Programmierrichtlinien Initialisierung Logging Meldungen Debugging root-handler und root-logger Kurzanleitung Konfigurationsfile Start der Anwendung Meldungen /11

2 1 Logging Die Logging API wurde von Sun in der Java Version 1.4 in das JDK integriert. Vor JDK1.4 wurden Logging APIs in verschieden Open-Source Projekten entwickelt, diese APIs werden teilweise noch weiter verwendet (Jakarta Commons-Logging, Log4j). Im Folgenden wird die Logging API in JDK1.4 kurz dokumentiert und Überlegungen und Implementierungsvorschläge für die Verwendung zusammengefasst. Einen vollständigen Überblick findet man bei [ 1.1 Übersicht Die zentrale Komponente der Logging API ist die Klasse java.util.logging.logmanager. Der LogManager hat die Aufgabe verschiedene Logger-Objekte in einem hierachischem Namensraum zu organisieren, sowie zugehörige Logging-Handler zu verwalten. Der LogManager ist auch für das Einlesen des Logging Konfigurationsfiles beim Start einer Anwendung zuständig. Das folgende Schaubild zeigt stark vereinfacht den Ablauf bei der Verwendung der Logging API: Anwendung Logging Meldung LoggingManager Logger log(level,msg) LogRecord Handler Ausgabe Die Anwendung verwendet einen Logger um ein Ereignis an die Logging API zu melden, der Logger leitet diese Meldung in Form eines LogRecord an einen Handler weiter, der diese als Meldung ausgibt. Alle Handler sind Unterklassen der abstrakten Klasse java.util.logging.handler. Häufig verwendete Handler sind ConsoleHandler, der die Meldungen auf die Konsole ausgibt und FileHandler, der die Meldungen in eine Datei schreibt. Wird kein Handler explizit definiert, so installiert der LogManager einen ConsoleHandler als Default. Um einen Logger in einer Anwendung zu verwenden muss dieser zunächst mit der static Methode Logger.getLogger( <name> ) erzeugt werden. Meldungen können dann mit der Methode log(...) an diesen übergeben werden. Bei der Übergabe einer Meldung durch die Anwendung an den Logger wird explizit oder implizit ein Logging-Level für diese Meldung vorgegeben. Dieser Logging-Level gibt die Priorität der Meldung an. Logger und Handler können so konfiguriert werden, dass lediglich Meldungen ab einer bestimmten Priorität weitergeleitet werden. Hierfür wird die Methode setlevel() im Handler bzw. im Logger Objekt verwendet. Die Initialisierung des LogManager und damit die Konfiguration der verwendeten Logger und Handler kann beim Start einer Java Anwendung über ein properties-file vorgenommen werden. Dabei wird über den Parameter -Djava.util.logging.config.file=<filename> das zu verwendende Properties File angegeben. Für eine einfache Anwendung ist es hinreichend lediglich mit Logger Objekten zu arbeiten. Normalerweise werden die Handler lediglich in einem Konfigurationsfile definiert und nicht von der Anwendung selbst initialisiert. In einer aufwändigeren Konfiguration können sie verwendet werden um z.b. Log Records in einem Ringpuffer zu speichern und lediglich bei Bedarf auszugeben. Auch der LogManager selbst wird von einer einfachen Anwendung in der Regeln nicht direkt verwendet. Er kann bei Bedarf jedoch benutzt werden, um z.b. ein geändertes Konfigurationsfile in einer laufenden Anwendung neu zu laden. In den folgenden Abschnitten wird genauer auf die Konfiguration der einzelnen Komponenten der Logging API für eine einfache Anwendung eingegangen. 2/11

3 1.1.1 Logger 18. Oktober 2005 Alle Logger Objekte werden in einem Namensraum hierachisch verwaltet. Bei der Initialisierung eines Loggers mit der Methode Logger.getLogger( <name> ) wird der Name des Loggers angegeben. Normalerweise werden Logger nach dem Package- oder Klassennamen benannt in dem sie verwendet werden. Ein besonderer Logger ist der root-logger, der den Namen (leerer String) hat. Außer dem root-logger besitzt jeder Logger eine Referenz auf den im Namensraum übergeordneten Logger, dieser Logger wird auch als parent-logger bezeichnet. Ein Handler kann mit der Methode addhandler() bei einem Logger angemeldet werden. Alle Logging Meldungen werden sowohl an die im Logger registrierten Handler als auch an seinen parent-logger weitergeleitet. Aus diesem Grund genügt das Registrieren eines einzigen Handlers beim root-logger, um die Meldungen aller in einer Anwendung verwendeten Logger entgegenzunehmen. Jeder Logger besitzt einen Level, der den minimalen Level der Meldungen darstellt, die von ihm angenommen werden. Wenn die Meldung z.b. über die Methode log(level, String) von der Anwendung übermittelt wird nimmt der Logger diese Meldung an, wenn der als Parameter übergebene Logging-Level der Meldung größer ist als der vorgegebene minimale Logging-Level. Die Meldung wird dann an alle angehängten Handler und an den parent-logger weitergegeben. Der parent-logger führt die Überprüfung des Logging-Level nicht mehr durch da die Meldung bereits von einem anderen Logger angenommen wurde. Daraus folgt, dass eine Meldung, die durch einen Logger angenommen wurde, alle parent-logger dieses Loggers erreicht, und damit auch den Handler des root-loggers und zwar unabhängig vom Logging-Level der parent-logger. Der Logging-Level eines Loggers kann entweder über die Methode setlevel() in einer Anwendung direkt konfiguriert werden, oder wird in einem properties-file definiert. Wird vom Anwender kein Level vorgegeben, so wird der Level des parent-logger verwendet Handler Logging Handler haben die Aufgabe die Logging Meldungen von den Loggern entgegenzunehmen und auszugeben oder ggf. zwischenzuspeichern. Der Logging-Level kann über die Methode setlevel() konfiguriert werden und definiert welche Meldungen bearbeitet werden. Die folgende Auflistung beschreibt einen Teil der im JDK implementierten Handler: ConsoleHandler Dieser Handler schreibt die Meldungen nach System.err, als -Level wird INFO verwendet. FileHandler Dieser Handler schreibt die Meldungen in eine Datei oder in eine Menge von rotierenden Logfiles welche im Konstruktor angegeben werden können, als -Level wird ALL verwendet. MemoryHandler Bei diesem Handler werden die Meldungen in einem Ringpuffer gespeichert und können bei Bedarf an einen zweiten Handler weitergegeben werden. Für einen Handler können Formatter-Objekte gesetzt werden, die definieren in welchen Format die Meldungen ausgegeben werden. Im JDK sind die beiden folgenden Formatter implementiert: SimpleFormatter Konvertiert eine Logging Meldung in einen einfachen String, der aus ein oder zwei Zeilen besteht. Dieser Formatter wird als Default verwendet. XMLFormatter Konvertiert eine Logging Meldung in eine XML Struktur. 3/11

4 1.1.3 Logging Properties-File 18. Oktober 2005 Beim Start einer Java Anwendung kann mit dem Kommandozeilenparameter -Djava.util. logging.config.file=<filename> ein Properties-File angegeben werden, n dem für den LogManager die Konfiguration der Logger und Handler festgelegt werden kann. Wird kein solcher Kommandozeilenparameter angegeben so liest der LogManager die Konfiguration aus einer Datei an der Stelle lib/logging.properties im Verzeichnis der verwendeten JRE. Die Properties-Files können unter anderem die folgenden Angaben enthalten: Property handlers definiert eine durch Whitespace oder Komma getrennte Liste von Klassennamen, die dem root- Logger als Handler zugewiesen werden. Propety <logger>.handlers definiert eine durch Whitespace oder Komma getrennte Liste, die dem Logger mit dem Namen <logger> als Handler zugewiesen werden. Property.level definiert einen Logging Level für den root-logger. Property <logger>.level definiert einen Logging-Level für einen Logger mit dem Namen <logger>. Das oben genannte Properties-File innerhalb der JRE enthält u.a. die folgenden Parameter: handlers = java.util.logging.consolehandler java.util.logging.consolehandler.level = INFO.level = INFO Dadurch wird eine ConsoleHandler für den root-logger installiert, sowie der Level INFO als Default-Level für alle in einer Anwendung verwendeten Logger initialisiert. Diese Einstellungen können sowohl in der Anwendung durch explizite Methodenaufrufe als auch durch die Verwendung eines eigenen Properties-File verändert werden. Um z.b. einen ConsoleHandler für den root-logger zu installieren, der alle Logging Meldung ausgibt, müssen die folgenden Parameter im properties-file gesetzt werden: handlers = java.util.logging.consolehandler java.util.logging.consolehandler.level = ALL Um beispielsweise die Logger in einem Package net.mypackage so zu konfigurieren, dass sie alle Meldungen an den Handler weitergeben, muss der folgenden Parameter im properties-file gesetzt werden: net.mypackage.level = ALL An Stelle des Namens eines Packages kann auch eine einzelne Klasse angegeben werden. Dies ist jedoch nur sinnvoll, wenn für die Logger in der Klasse auch der Name der Klasse verwendet wurde. Für den root-logger setzt man den Level zur Ausgabe aller Meldungen mit dem Parameter.level = ALL 1.2 Logging Levels Für die Logger entscheidet der eingestellte Logging Level über die Annahme einer Meldung wenn diese z.b. über die log(level, String) Methode durch die Anwendung übergeben wird. Wurde eine Meldung jedoch einmal von einem Logger angenommen, so wird diese an den parent- Logger weitergegeben und von diesem unabhängig vom Logging-Level angenommen. Für die Handler entscheidet der Logging-Level über die Ausgabe einer Meldung z.b. auf die Konsole oder in eine Datei. 4/11

5 Zusammengefasst bedeutet dies: Entscheidend, ob eine Meldung angenommen wird, ist der Level des Loggers, entscheidend, ob eine Meldung ausgegeben wird, ist der Level des Handlers. Die Logging Levels des JDK 1.4 sind in der Reihenfolge ihrer Priorität: SEVERE (höchste Priorität) WARNING INFO ( Level für Logger und Handler) CONFIG FINE FINER FINEST (niedrigste Priorität) Darüber hinaus gibt es noch die Level OFF und ALL, diese können verwendet werden, um in den Loggern oder Handlern sämtliche Logging Meldungen ein- oder auszuschalten. Die Logging Level werden als public static Felder des Objekts java.util.logging.level implementiert. Es ist möglich java.util.logging.level zu erweitern und eigene Logging Level zu implementieren. In der -Konfiguration,d.h. wenn die verwendeten Logger oder Handler nicht durch das Setzen der Logging Levels in der Anwendung konfiguriert werden, werden alle Meldungen mit der Priorität INFO oder höher ausgegeben. Die folgenden Abschnitte schlagen Richtlinien zur Verwendung der einzelnen Level vor SEVERE Dieser Level sollte verwendet werden wenn aufgrund von auftretenden Fehlern eine Anwendungnicht länger ausgeführt werden kann, d.h. wenn ein weiteres Ausführen der Anwendung zu inkonsistenten Daten oder zum unmittelbaren Absturz der Anwendung führen würde. Dieser Level sollte auch verwendet werden, wenn Ereignisse im Programm auf einen Fehler in der Implementierung der Anwendung hindeuten (Programmierfehler), die Anwendung jedoch mit sinnvollen Werten weiterrechnen kann. Beispiele: Ein Operative konnte sich nach mehreren Versuchen nicht beim Dispatcher anmelden, der Operative bricht mit mit einer SEVERE Message ab. Bei der Überprüfung mit instanceof hat ein Objekt nicht die notwendige Klasse. Der Kontrollfluss in einem switch-block landet in einem unmöglichen case/-zweig. Fehler in Architeuthis WARNING Dieser Level sollte verwendet werden wenn Fehler in einer Anwendung auftreten, die Anwendung jedoch selbständig versucht den Fehler zu beheben, oder die Anwendung zunächst weiterarbeiten kann, der Fehler also keine unmittelbaren Auswirkungen hat. Beispiele: Temporäre Fehler z.b. durch Netzwerkprobleme. Der Verbindungsaufbau zu einem Operative ist fehlgeschlagen, es wird jedoch weiter versucht die Verbindung herzustellen. Fehler in den durch den Anwender programmierten Teilproblemen, RemoteStores etc. (Fehler im Benutzercode) 5/11

6 1.2.3 INFO 18. Oktober 2005 Sonstige Meldungen, die für den Anwender von Interesse sein könnten. Da Meldungen mit diesem Level in der -Konfiguration ausgegeben werden sollten lediglich selten auftretende wichtige Ereignisse in einer Anwendung dokumentiert werden, die für den Anwender von Interesse sind. Angeforderte Dateien im Classfileserver Start/Ende der Berechnung CONFIG Dieser Level sollte verwendet werden, um den normalen Kontrollfluss in einer Anwendung zu dokumentieren. Beispiel: Verbindungsaufbau oder Verbindungsabbau zu einem Operative Meldungen wenn -Werte für optionale Parameter beim Programmstart verwendet werden. Kommandozeilenargumente nach dem Parsen im Operative Anmeldung des Operative FINE Dieser Level sollte verwendet werden, um ein oberflächliches Debugging einer Anwendung zu erlauben. Dabei werden vor allen Konfigurationsparameter einer Anwendung ausgegeben. Damit können häufiger auftretende Ereignisse im normalen Kontrollfluss einer Anwendung dokumentiert werden Beispiele: Ausgabe der Filenamen von Ein- und Ausgabedateien, Port- und IP-Nummern im laufenden Betrieb. Ein neues Problem wird zum Dispatcher übermittelt und berechnet. Aufrufe der wichtigen Methoden registerremotestore() und fetchpartialproblem(). Zurückliefern eine Lösung im Operative FINER Dieser Level sollte verwendet werden um einzelne Methodenaufrufe zu dokumentieren. Dabei können zusätzlich auch die Parameter der Methodenaufrufe ausgegeben werden. Dieser Level wird von den Methoden entering(), exiting() und throwing() eines Logging Objekts verwendet. Diese Methoden definieren also implizit einen Logging Level und können verwendet werden, um bequem die entsprechenden Ereignisse in einer Anwendung an einen Logger zu melden. Beim Aufruf müssen als Parameter mindestens der Name der Methode sowie der Name der Klasse übergeben werden: Beispiele: entering(string sourceclass, String sourcemethod); sämtliche interessantern Methodenein- oder -austritte FINEST Dieser Level sollte verwendet werden, um gegebenenfalls den Kontrollfluss innerhalb einer Methode zu dokumentieren. Beispiele: 6/11

7 Ausgabe von Schleifendurchläufen interessante Ereignisse innerhalb einer Methode 1.3 Beispiele In diesem Abschnitt soll anhand einiger Beispiele die Funktionsweise der Logging API veranschaulicht werden. Es soll insbesondere die Verarbeitung der Logging Meldungen innerhalb der hierachischen Struktur der Logger verdeutlicht werden. Zunächst wird der Aufbau einer solchen Struktur aus Loggern und Handler sowohl mit Hilfe der Parameter eines Properties-Files als auch mit Hilfe von Java-Methoden beschrieben. Die folgende Abbildung verdeutlicht die verwendete Struktur, die Pfeile veranschaulichen den Weg zweier Logging-Meldungen, die im Folgenden besprochen werden. root-logger ( ) Logger ( A ) handler1 "hello A.B.A!" "hello A.B.C!" Logger ( A.A ) Logger ( A.B ) handler2 "hello A.B.A! "hello A.B.C!" Logger ( A.B.B ) Logger ( A.B.A ) log(level.info, "hello A.B.A!"); Logger ( A.B.C ) log(level.info, "hello A.B.C!"); handler3 "hello A.B.C!" Symbole: Logging-Level level object Objekt (Logger/Handler) Logging-Meldungen: weiter geleitet/ angenommen nicht angenommen Das folgende Codefragment erzeugt diese Struktur: Logger logger = Logger.getLogger(""); Logger logger_a = Logger.getLogger("A"); Logger logger_a_a = Logger.getLogger("A.A"); Logger logger_a_b = Logger.getLogger("A.B"); Logger logger_a_b_a = Logger.getLogger("A.B.A"); Logger logger_a_b_b = Logger.getLogger("A.B.B"); Logger logger_a_b_c = Logger.getLogger("A.B.C"); Handler handler1 = new ConsoleHandler(); logger_a.addhandler(handler1); Handler handler2 = new ConsoleHandler(); logger_a_b.addhandler(handler2); Handler handler3 = new ConsoleHandler(); logger_a_b_c.addhandler(handler3); alternativ kann diese Struktur auch mit einem properties-file mit dem folgenden Inhalt erzeugt werden: A.handlers = java.util.logging.consolehandler 7/11

8 A.B.handlers = java.util.logging.consolehandler A.B.C.handlers = java.util.logging.consolehandler 18. Oktober 2005 Durch dieses properties-file werden lediglich die verwendeten Handler den entsprechenden Loggern zugeordnet. Die gewünschte hierachische Struktur wird automatisch durch die Namen der verwendeten Logger erzeugt sobald diese in der Anwendung initialisiert werden. Die Initialisierung erfolgt in der Anwendung durch die statische Methode Logger.getLogger(... ). Mit dem folgenden Befehl wird durch jeden der 3 verwendeten Handler die Meldung hello A.B.C! ausgegeben: logger_a_b_c.log(level.info, "hello A.B.C!"); Der folgende Befehl gibt lediglich über handler1 und handler2 die Meldung hello A.B.A! aus: logger_a_b_a.log(level.info, hello A.B.A! ); Nun werden zusätzlich die Logging-Level der einzelnen Handler und Logger gesetzt, so dass die folgende Struktur entsteht: root-logger ( ) Logger ( A ) handler1 "hello A.B.C!" Logger ( A.A ) WARN. Logger ( A.B ) handler2 "hello A.B.C!" Level vom parent Logger ( A.B.B ) Logger ( A.B.A ) INFO Logger ( A.B.C ) WARN. handler3 log(level.info, "hello A.B.A!"); log(level.info, "hello A.B.C!"); Symbole: Logging-Level level object Das Setzen der Level erfolgt mit den folgenden zusätzlichen Methodenaufrufen: logger_a_b_c.setlevel(level.info); logger_a_b.setlevel(level.warning); handler3.setlevel(level.warning); Der folgende Befehl gibt keine Meldung aus: Objekt (Logger/Handler) Logging-Level wird vom vom parent-logger übernommen logger_a_b_a.log(level.info, "hello A.B.A!"); Für logger_a_b_a wurde kein Logging-Level explizit gesetzt, der Logger übernimmt also den Logging-Level WARNING seines parent-loggers wie in Abschnitt beschrieben. Die Meldung mit dem Level INFO wird also nicht angenommen. Der folgende Befehlt gibt über die handler1 und handler2 die Meldung hello A.B.C aus: logger_a_b_c.log(level.info, "hello A.B.C!"); Logging-Meldungen: weiter geleitet/ angenommen nicht angenommen Der Logger logger_a_b_c wird auf den level INFO gesetzt, die Meldung mit dem Level INFO wird also angenommen und an den registrierten Handler sowie den parent-logger 8/11

9 weitergegeben. Der parent-logger von logger_a_b_c hat zwar den Level WARNING, er leitet die Meldung jedoch ebenfalls an die registrierten Handler und an seinen parent- Logger weiter, da die Meldung nicht über die Methode log(... ) von der Anwendung abgesetzt wurde, sondern von einem anderen Logger an ihn weitergeleitet wurde. 1.4 Programmierrichtlinien In diesem Abschnitt werden verschiedenen Vorschläge für die Verwendung der Logging API zusammengefasst Initialisierung Für jede Klasse einer Anwendung kann wie folgt ein Logger initialisiert werden: private static final Logger LOGGER = Logger.getLogger(<Klassenname>.class.getName()); Diese Methode bietet die folgenden Vorteile Der Logger ist static und wird daher von allen Instanzen dieser Klasse verwendet. In einer Anwendung bilden die mit dieser Methode initialisierten Logger die Klassen- und Packagestruktur der Anwendung nach. Beim Umbenennen einer Klasse durch ein Refactoring-Tool wird auch der Name des Loggers umbenannt Logging Meldungen Jedem Logging Level ist in der Klasse Logger eine Methode zugeordnet, mit der Meldungen der entsprechenden Priorität an den Logger übermittelt werden können. Beispielsweise wird beim Aufruf der Methode info( Meldung ) die Meldung mit der Priorität INFO weitergeleitet. Diese Methode können verwendet werden, um bequem ein Ereignis mit dem entsprechenden Level zu melden. Häufig werden beim Aufruf der Logging Methoden die Meldungen aus mehreren Strings zusammengesetzt. Beispiel: LOGGER.log(Level.INFO, Verbindungsabau über Port + Portnumber + mit + IPnumber + war erfolgreich ); Da das Zusammenfügen von Strings mit dem + Operator in Java aufwändig ist, ist es in solchen Fällen sinnvoll zunächst zu prüfen, ob der Logging Level vom Logger überhaupt bearbeitet wird: if (LOGGER.isEnabled(Level.INFO)) { LOGGER.log(Level.INFO, Verbindungsabau über Port + Portnumber + mit + IPnumber + war erfolgreich ); } Debugging Für das Debugging einer Anwendung wird häufig ein Komandozeilenparameter verwendet. Dieser wird beim Start abgefragt und als ein boolean Flag innerhalb der Anwendung implementiert. Vor der Ausgabe von Debugging Informationen wird jeweils überprüft, ob dieses Flag gesetzt ist. Durch das folgenden Schema kann dieses Flag ersetzt werden: Der Komandozeilenparameter wird abgefragt. Falls gewünscht wird der Log-Level für die Logger der Anwendung auf einen definierten Wert gesetzt. Dies kann geschehen, indem man z.b. den Logging-Level für den root-logger ( ) auf eine entsprechend niedrigere Priorität setzt. Damit 9/11

10 werden in der gesamte Anwendung alle Meldungen mit der gleichen oder höheren Priorität ausgegeben. Der Zugriff auf dem root-logger wird in Abschnitt erläutert. Falls nur die Meldungen eines Teilpakets ausgegeben werden sollen kann natürlich auch nur der Logger dieses Teilpakets durch das Setzen der Priorität entsprechen konfiguriert werden. Bei der Ausgabe von Debugging Meldungen werden die Meldungen mit einer definierten Priorität an den Logger geschickt. Diese Priorität muss höher sein, als die zuvor für die Konfiguration der Logger verwendetet Priorität, damit die Meldungen angenommen und durch den Handler später ausgegeben werden. Durch Abfrage eines Kommandozeilenparameters und entsprechendes Setzen der Log-Level kann also die Ausgabe ein- oder ausgeschaltet werden. Vorteile: Das Verwalten des debug-flags und ggf. die Weitergabe des Flags an Komponenten einer Anwendung entfällt. Es können bequem mehrere debug-levels implementiert werden. Nachteile: Es muss darauf geachtet werden, dass der Logging Level im Handler nicht auf einem zu hohen Wert eingestellt werden, so dass die gewünschten Debug Meldungen im Handler versehentlich ausgefiltert werden root-handler und root-logger In einer einfachen Anwendung genügt es den root-handler für die Ausgabe von Logging- Meldungen zu verwenden. Damit können alle Meldungen direkt auf die Konsole ausgegeben werden. Standardmäßig werden alle Meldungen mit dem Level INFO oder höher ausgegeben. Möchte man in der Anwendung auch Meldungen mit niedrigerem Level ausgeben, so muss der Level des root-loggers und des root-handlers verändert werden. Dies kann mit dem folgenden Codefragment implementiert werden: // der DefaultHandler hängt am root-logger Logger rootlogger = Logger.getLogger(""); Handler[] handlers = rootlogger.gethandlers(); // einen ConsoleHandler finden: ConsoleHandler consolehandler = null; for (int i=0; i < handlers.length; i++) { if (handlers[i] instanceof ConsoleHandler) { consolehandler = (ConsoleHandler) handlers[i]; } } // kein ConsoleHandler am root-logger?! // wir hängen selbst einen an: if (consolehandler == null) { consolehandler = new java.util.logging.consolehandler(); Logger.getLogger("").addHandler(consoleHandler); } consolehandler.setlevel(level.fine); rootlogger.setlevel(level.fine); Damit werden alle Logging-Meldungen der Anwendung mit dem Level FINE oder höher ausgegeben. 10/11

11 1.5 Kurzanleitung In diesem Abschnitt werden noch einmal die wichtigsten Schritte zur Verwendung der Logging-API beschrieben Konfigurationsfile Ein minimales Konfigurationsfile, mit dem alle Meldungen auf die Konsole ausgegeben werden und der root-logger alle Meldungen annimmt, kann wie folgt aussehen: handlers = java.util.logging.consolehandler java.util.logging.consolehandler.level = ALL.level = ALL Dieses File kann unter dem Dateinamen logging.properties gespeichert werden. Möchte man nur für einen Teil der Anwendung alle Meldungen ausgeben, für alle anderen Teile der Anwendung lediglich Meldung mit dem Level WARNING oder höher: handlers = java.util.logging.consolehandler java.util.logging.consolehandler.level = ALL.level = WARNING teil.package.level = ALL Start der Anwendung Um dem LoggingManager das oben beschriebene Konfigurationsfile zu übergeben, muss die Java- Anwendung mit dem zusätzlichen Parameter -Djava.util.logging.config.file=logging.properties gestartet werden Meldungen In der Anwendung selbst wird zunächst der Logger innerhalb einer Klasse mit dem folgenden Befehl erzeugt: private static final Logger LOGGER = Logger.getLogger(MeineKlasse.class.getName()); Eine Meldung mit dem Level INFO wird mit folgendem Kommando abgesetzt: LOGGER.log(Level.INFO, eine info-meldung ); Um einen Methodeneintritt zu melden kann folgender Code verwendet werden: LOGGER.entering( Klassennamen, Methodennamen ); Die Meldung wird dann mit dem Level FINER ausgegeben. Falls gewünscht können zusätzlich noch die Parameter der Methode ausgegeben werden: LOGGER.entering( Klassennamen, Methodennamen, new Object[] {"param1", "param2"}); 11/11

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Logging in Java. Java Logging API & Jakarta Log4J. Seminararbeit von Philipp Kaufmann, 5Ie

Logging in Java. Java Logging API & Jakarta Log4J. Seminararbeit von Philipp Kaufmann, 5Ie Logging in Java Java Logging API & Jakarta Log4J Seminararbeit von Philipp Kaufmann, 5Ie Fachhochschule Aargau Departement Technik Studiengang Informatik Betreuender Dozent: Prof. Dr. D. Gruntz Windisch,

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

Word 2010 Änderungen nachverfolgen

Word 2010 Änderungen nachverfolgen WO.019, Version 1.0 05.01.2015 Kurzanleitung Word 2010 Änderungen nachverfolgen Bearbeiten mehrere Personen gemeinsam Dokumente, sollten alle Beteiligten nachverfolgen können, wer welche Änderungen vorgenommen

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OPC UA Client Stack... 5 1.3 OPC UA Server

Mehr

AccountPlus Systemkonfiguration

AccountPlus Systemkonfiguration Anwenderhandbuch AccountPlus Systemkonfiguration Version 1.10 Inhalt: 1 ANWENDUNG... 3 2 DAS PROGRAMM... 3 2.1 Startparameter...5 2.2 Die Karteikarte ACCTPLUS.INI...5 2.3 Die Karteikarte Datenbanken...5

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)

Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2) Inhalt Convision IP-Videoserver und die Sicherheitseinstellungen von Windows XP (SP2)... 1 1. Die integrierte Firewall von Windows XP... 2 2. Convision ActiveX und Internet Explorer 6... 3 3. Probleme

Mehr

Autor: Uwe Labs Stand: 21.03.2008. 1. WinSecureCopy in der paedml 3.0 Novell...1

Autor: Uwe Labs Stand: 21.03.2008. 1. WinSecureCopy in der paedml 3.0 Novell...1 . WinSecureCopy in der paedml 3.0 Novell Autor: Uwe Labs Stand: 2.03.2008 Inhaltsverzeichnis. WinSecureCopy in der paedml 3.0 Novell..... Übersicht....2. Installation und Start....3. Benutzung von WinSCP...6..

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Roundcube Webmail Kurzanleitung

Roundcube Webmail Kurzanleitung Roundcube Webmail Kurzanleitung Roundcube Webmail ist ein IMAP Client, der als Schnittstelle zu unserem E-Mail-Server dient. Er hat eine Oberfläche, die E-Mail-Programmen für den Desktop ähnelt. Öffnen

Mehr

ab Redirector-Version 2.14

ab Redirector-Version 2.14 Installation: FilterSurf ab Redirector-Version 2.14 Hier werden nun die Schritte erläutert, die nacheinander zu durchlaufen sind, um einen der zentralen FilterSurf -Server verwenden zu können. Die Installationsschritte

Mehr

Technische Dokumentation SilentStatistikTool

Technische Dokumentation SilentStatistikTool Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

Wissenswertes über LiveUpdate

Wissenswertes über LiveUpdate Wissenswertes über LiveUpdate 1.1 LiveUpdate «LiveUpdate» ermöglicht den einfachen und sicheren Download der neuesten Hotfixes und Patches auf Ihren PC. Bei einer Netzinstallation muss das LiveUpdate immer

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Jürgen Bayer. MDI-Anwendungen in C#

Jürgen Bayer. MDI-Anwendungen in C# Jürgen Bayer MDI-Anwendungen in C# Inhaltsverzeichnis 1 Grundlagen 2 1.1 Einrichten der Formulare 2 1.2 Öffnen von MDI-Childformularen 3 2 Menüs 4 2.1 Erstellen eines Menüs 4 2.2 Programmierung der Menüpunkte

Mehr

Installationsanleitung kostal-fb Proxy für SOLARVIEW

Installationsanleitung kostal-fb Proxy für SOLARVIEW Installationsanleitung kostal-fb Proxy für SOLARVIEW Proxy für Kostal Piko und Solarfabrik Convert T Wechselrichter zum Betrieb mit SolarView Verfasser: Manfred Richter Version 1.5 vom 08. Juli 2015 http://www.solarview.info

Mehr

Beuth Hochschule JDK und TextPad WS14/15, S. 1

Beuth Hochschule JDK und TextPad WS14/15, S. 1 Beuth Hochschule JDK und TextPad WS14/15, S. 1 JDK und TextPad Der TextPad ist ein ziemlich ausgereifter Text-Editor, den man auch als einfache ("noch durchschaubare") Entwicklungsumgebung z.b. für Java-Programme

Mehr

Leitfaden Datensicherung und Datenrücksicherung

Leitfaden Datensicherung und Datenrücksicherung Leitfaden Datensicherung und Datenrücksicherung Inhaltsverzeichnis 1. Einführung - Das Datenbankverzeichnis von Advolux... 2 2. Die Datensicherung... 2 2.1 Advolux im lokalen Modus... 2 2.1.1 Manuelles

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

KOGIS Checkservice Benutzerhandbuch

KOGIS Checkservice Benutzerhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 KOGIS Checkservice Benutzerhandbuch Zusammenfassung Diese Dokumentation beschreibt die Bedienung des KOGIS Checkservice. 4.2.2015

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Benutzerhinweise IGW/920-SK/92: Einsatz als VPN-Client

Benutzerhinweise IGW/920-SK/92: Einsatz als VPN-Client Benutzerhinweise IGW/920-SK/92: Einsatz als VPN-Client Beachten Sie bitte bei der Benutzung des Linux Device Servers IGW/920 mit einem DIL/NetPC DNP/9200 als OpenVPN-basierter Security Proxy unbedingt

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

CARM-Server. Users Guide. Version 4.65. APIS Informationstechnologien GmbH

CARM-Server. Users Guide. Version 4.65. APIS Informationstechnologien GmbH CARM-Server Version 4.65 Users Guide APIS Informationstechnologien GmbH Einleitung... 1 Zugriff mit APIS IQ-Software... 1 Zugang konfigurieren... 1 Das CARM-Server-Menü... 1 Administration... 1 Remote-Konfiguration...

Mehr

4D v11 SQL Release 6 (11.6) ADDENDUM

4D v11 SQL Release 6 (11.6) ADDENDUM ADDENDUM Willkommen zu Release 6 von 4D v11 SQL. Dieses Dokument beschreibt die neuen Funktionalitäten und Änderungen der Version. Erweiterte Verschlüsselungsmöglichkeiten Release 6 von 4D v11 SQL erweitert

Mehr

Collax Web Application

Collax Web Application Collax Web Application Howto In diesem Howto wird die Einrichtung des Collax Moduls Web Application auf einem Collax Platform Server anhand der LAMP Anwendung Joomla beschrieben. LAMP steht als Akronym

Mehr

Wie kann ich meine Daten importieren? Wie kann ich meine Profile verwalten?

Wie kann ich meine Daten importieren? Wie kann ich meine Profile verwalten? Administration: Wie kann ich meine Daten importieren? Wie kann ich meine Profile verwalten? Wie kann ich von «Einzelgesellschaft» zu «Mehrere Gesellschaften» wechseln? Gebrauch Wie kann ich einen Arbeitnehmer

Mehr

Fresh Minder 3-Server

Fresh Minder 3-Server Fresh Minder 3-Server Installation und Betrieb Fresh Minder-Vertrieb Rieslingweg 25 D - 74354 Besigheim support@freshminder.de www.freshminder.de ÜBERSICHT Die Standardversion (Einzelplatzversion) von

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2 Jörg Kapelle 15:19:08 Filterregeln Inhaltsverzeichnis Filterregeln... 1 Einführung... 1 Migration der bestehenden Filterregeln...1 Alle eingehenden Nachrichten weiterleiten...2 Abwesenheitsbenachrichtigung...2

Mehr

IRISPen Air 7. Kurzanleitung. (Android)

IRISPen Air 7. Kurzanleitung. (Android) IRISPen Air 7 Kurzanleitung (Android) Diese Kurzanleitung beschreibt die ersten Schritte mit dem IRISPen Air TM 7. Lesen Sie sich diese Anleitung durch, bevor Sie diesen Scanner und die Software verwenden.

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Schritt-für-Schritt-Anleitung zur Konfiguration eines E-Mail-Appenders zur Benachrichtigung über Fehlermeldungen und Warnungen der windream-dienste

Schritt-für-Schritt-Anleitung zur Konfiguration eines E-Mail-Appenders zur Benachrichtigung über Fehlermeldungen und Warnungen der windream-dienste Newsletter der windream GmbH Juni 2009 windreamnews Schritt-für-Schritt-Anleitung zur Konfiguration eines E-Mail-Appenders zur Benachrichtigung über Fehlermeldungen und Warnungen der windream-dienste Im

Mehr

Job Process System Notification. 16. November 2010

Job Process System Notification. 16. November 2010 Job Process System Notification 16. November 2010 Job Process System Notification 1 Inhaltsverzeichnis 1 Job processsystemnotifications 3 Job Process System Notification 2 1 Job processsystemnotifications

Mehr

Kurzanleitung. 29. Februar 2008 2. Oktober 2008 Update. APtool-Kurzanleitung-V1_2_DE Seite 1 von 8

Kurzanleitung. 29. Februar 2008 2. Oktober 2008 Update. APtool-Kurzanleitung-V1_2_DE Seite 1 von 8 Kurzanleitung 29. Februar 2008 2. Oktober 2008 Update APtool-Kurzanleitung-V1_2_DE Seite 1 von 8 Inhalt INHALT... 2 EINFÜHRUNG... 3 VORBEREITUNG... 3 LIZENZIERUNG... 3 PROJEKT LIZENZEN... 4 GENERIERUNG

Mehr

Artikel ID: 2399 Erstellt am: 08.08.2011 11:36 Überschrift: STRATO HiDrive Software - Installation und Konfiguration

Artikel ID: 2399 Erstellt am: 08.08.2011 11:36 Überschrift: STRATO HiDrive Software - Installation und Konfiguration Artikel ID: 2399 Erstellt am: 08.08.2011 11:36 Überschrift: STRATO HiDrive Software - Installation und Konfiguration Für die Betriebssysteme Windows XP, Vista und Windows 7 (32 und 64-bit) stellen wir

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Programmierung eines NewsTickers in Java

Programmierung eines NewsTickers in Java Programmierung eines NewsTickers in Java ( & ) Projektarbeit Programmiertechnik:Java NTA FH Isny 12. Info David Mayr / Andreas Krug Seite 1 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ]

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens

Mehr

VIDA ADMIN KURZANLEITUNG

VIDA ADMIN KURZANLEITUNG INHALT 1 VIDA ADMIN... 3 1.1 Checkliste... 3 1.2 Benutzer hinzufügen... 3 1.3 VIDA All-in-one registrieren... 4 1.4 Abonnement aktivieren und Benutzer und Computer an ein Abonnement knüpfen... 5 1.5 Benutzername

Mehr

Loggen am Beispiel von log4j ETIS 2005

Loggen am Beispiel von log4j ETIS 2005 Loggen am Beispiel von log4j ETIS 2005 Motivation Logging Hauptbestandteile Logger Appender Layout Konfiguration Gliederung Log4j vs. Sun s Logging API Zusammenfassung 2 Motivation - Aufgaben Logging Low

Mehr

G-Info Lizenzmanager

G-Info Lizenzmanager G-Info Lizenzmanager Version 4.0.1001.0 Allgemein Der G-Info Lizenzmanager besteht im wesentlichen aus einem Dienst, um G-Info Modulen (G-Info Data, G-Info View etc.; im folgenden Klienten genannt) zentral

Mehr

Installationsanleitung für R

Installationsanleitung für R Installationsanleitung für R R ist eine Programmiersprache und Statistiksoftware zur Analyse von Daten und deren graphischer Darstellung. Um in R zu programmieren, ist zunächst die R- Basissoftware zu

Mehr

Logging mit Log4J AID 074 DE

Logging mit Log4J AID 074 DE Logging mit Log4J AID 074 DE 2014 ADITO Software GmbH Diese Unterlagen wurden mit größtmöglicher Sorgfalt hergestellt. Dennoch kann für Fehler in den Beschreibungen und Erklärungen keine Haftung übernommen

Mehr

Avira Management Console AMC Serverkonfiguration zur Verwaltung von Online-Remote-Rechnern. Kurzanleitung

Avira Management Console AMC Serverkonfiguration zur Verwaltung von Online-Remote-Rechnern. Kurzanleitung Avira Management Console AMC Serverkonfiguration zur Verwaltung von Online-Remote-Rechnern Kurzanleitung Inhaltsverzeichnis 1. Allgemeine Informationen... 3 2. Netzwerkübersicht... 3 3. Konfiguration...

Mehr

Virtuemart-Template installieren? So geht es! (Virtuemart 2.0.x)

Virtuemart-Template installieren? So geht es! (Virtuemart 2.0.x) Virtuemart-Template installieren? So geht es! (Virtuemart 2.0.x) Navigation Systemvoraussetzungen! 1 1. Vorbereitung der Installation! 2 2. Installation des Templates! 2 3. Konfiguration des Yagendoo VirtueMart-Templates!

Mehr

Medea3 Print-Client (m3_print)

Medea3 Print-Client (m3_print) Medea3 Print-Client (m3_print) Installationsanleitung Installationsanleitung m3_print.exe...2 1. Installieren von Ghostskript und Ghostview...2 1. Ghostskript...2 2. Ghostview...3 2. Kopieren des Print-Client-Programms...6

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Visualisierung der Eidolon Auswertung. VisEiA. Graphischer Client für das Emailspiel Eidolon

Visualisierung der Eidolon Auswertung. VisEiA. Graphischer Client für das Emailspiel Eidolon Visualisierung der Eidolon Auswertung VisEiA Graphischer Client für das Emailspiel Eidolon Entstanden im Ramen einer Seminararbeit in Informatik Universität Fribourg, Schweiz david.buchmann@gmx.net http://getit.at/viseia/

Mehr

Logging in Java Verteilte und Parallele Systeme

Logging in Java Verteilte und Parallele Systeme Logging in Java Verteilte und Parallele Systeme Seminararbeit von Marc Berendes und Philipp Wever Fachhochschule Bonn-Rhein-Sieg Studiengang Angewandte Informatik Betreuender Dozent: Prof. Dr. Rudolf Berrendorf

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Connecting Content. User Manual. Version: 1.2

Connecting Content. User Manual. Version: 1.2 Connecting Content User Manual Version: 1.2 09.09.2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 3 2 Installation 4 3 Konfiguration 5 3.1 Allgemeine Einstellungen 6 3.2 Jobs anlegen 6 3.3 Tasks

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

Automatische Installation (wenn das SSO-Applet nicht vorhanden ist)! Abbildung 1:Auswahldialog für Installationslaufwerk

Automatische Installation (wenn das SSO-Applet nicht vorhanden ist)! Abbildung 1:Auswahldialog für Installationslaufwerk SS EE IITTEE:: I 11/ /55 Bei jedem Aufruf des SSO-Applet wird kontrolliert, ob das Konfigurationsverzeichnis ( ssoapplet ) existiert. Dabei werden alle Laufwerke, auf die der Benutzer Lese- und Schreibrechte

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Eine Kommando-Oberfläche für.net

Eine Kommando-Oberfläche für.net Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre

Mehr

OpenSSH installieren (Windows) Was ist OpenSSH?

OpenSSH installieren (Windows) Was ist OpenSSH? OpenSSH installieren (Windows) Was ist OpenSSH? OpenSSH (Open Secure Shell) ist eine freie SSH/SecSH-Protokollsuite, die Verschlüsselung für Netzwerkdienste bereitstellt, wie etwa Remotelogins, also Einloggen

Mehr

Workbooster File Exchanger Command Line Tool

Workbooster File Exchanger Command Line Tool Thema Technische Benutzerdokumentation - WBFileExchanger Workbooster File Exchanger Command Line Tool Letzte Anpassung 18. Januar 2014 Status / Version Finale Version - V 1.1 Summary Erstellung Diese technische

Mehr

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Parallels Plesk Panel. Firewall-Modul für Parallels Plesk Panel 10 für Linux/Unix. Administratorhandbuch

Parallels Plesk Panel. Firewall-Modul für Parallels Plesk Panel 10 für Linux/Unix. Administratorhandbuch Parallels Plesk Panel Firewall-Modul für Parallels Plesk Panel 10 für Linux/Unix Administratorhandbuch Copyright-Vermerk Parallels Holdings, Ltd. c/o Parallels International GmbH Vordergasse 59 CH-Schaffhausen

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Das folgende Dokument enthält eine Kurzanleitung zur Programmierung von LOG GT-3 s mit Hilfe der Seba Data View (SDV) Software:

Das folgende Dokument enthält eine Kurzanleitung zur Programmierung von LOG GT-3 s mit Hilfe der Seba Data View (SDV) Software: Kurzanleitung - LOG GT-3 Installation (V 1.0) Das folgende Dokument enthält eine Kurzanleitung zur Programmierung von LOG GT-3 s mit Hilfe der Seba Data View (SDV) Software: Wichtiger Schritt: Anlegen

Mehr

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration Richtlinienbasierte Verwaltung und Multi-Server-Administration 3 Richtlinienbasierte Verwaltung und Multi-Server- Administration SQL Server Management Studio bietet eine Reihe von Unterstützungsmöglichkeiten,

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Validiert das RTF-Template auf syntaktische Fehler und gibt Hinweis auf Zeilennummer in der RTF-Datei. der eingebetteten XML-Daten

Validiert das RTF-Template auf syntaktische Fehler und gibt Hinweis auf Zeilennummer in der RTF-Datei. der eingebetteten XML-Daten Troubleshooting für BI Publisher Reports Jürgen Menge Oracle Deutschland B.V. & Co. KG München Schlüsselworte Oracle BI Publisher, Diagnose, Performance, Logging, Debugging, Auditing, Monitoring. Einleitung

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr