OpenKeyWord  Version: 426, Datum:
OKW.LogMessenger Klassenreferenz

LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugehörigen XML-Datei. Mehr ...

Zusammengehörigkeiten von OKW.LogMessenger:
Collaboration graph

Öffentliche Methoden

 LogMessenger (string fpsClassname)
 
  1. Speichern des Klassennamens.
  2. Initialisieren der Klasse.
Mehr ...
 
string GetMessage (string MethodName, string TextKey)
 Holt die Log-Meldung für MethodeNmae/Textkey ohne weitere Parameter. Mehr ...
 
string GetMessage (string MethodName, string TextKey, object Parameter_1)
 Holt die Log-Meldung für MethodeNmae/Textkey und einem Parameter. Mehr ...
 
string GetMessage (string MethodName, string TextKey, object Parameter_1, object Parameter_2)
 Holt die Log-Meldung für MethodeNmae/Textkey und einem Parameter. Mehr ...
 
string GetMessage (string MethodName, string TextKey, object Parameter_1, object Parameter_2, object Parameter_3)
 Holt die Log-Meldung für MethodeNmae/Textkey und drei Parameter. Mehr ...
 

Propertys

string XMLFile [get]
 

Private Methoden

void Init ()
 Initialisiert die Klasse: Mehr ...
 
string ReadMessage (string ClassName, string MethodName, string TextKey)
 Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei. "ClassName", "MethodName" and "TextKey" and Actual language from ini-file. Mehr ...
 

Private Attribute

bool bInit = false
 
string cvsClassName = string.Empty
 
string __XMLFile = string.Empty
 
XPathDocument MyXPathDocument
 
XPathNavigator MyXPathNavigator
 

Ausführliche Beschreibung

LogMessenger liest Log-Meldungen sprachspezifisch für die im Konstruktor gegeben Klasse aus der Zugehörigen XML-Datei.

Die Log-Meldungen sind in XML-Dateien ausgelagert. Die XML-Dateien müssn in Verzeichniss gegeben in OKW_Ini.Instance.OKW_Enviroment.PathLog abgelegt sein. (Defaultwert: /XML/Log)

Die XML-Struktur sieh wie folgt aus:

  • ~~~~~~~~~~~~~~~{.c} <Class name="MeineKlasse"> <Method name="MeineMethode"> <Text key="MeinTextschlüssel"> <en>Text with Parameter '{0:}'.</en> <de>Text mit einem Parameter '{0:}'.</de> </Text> </Method> </Class>
  • ~~~~~~~~~~~~~~~

    Dabei können

    • je Klasse n-Methoden
    • je Methode n-Textschlüssel.
    • Je Textschlüssel können n-Überstezungen definiert werden.

    Die aktuelle Sprache kommt aus OKW.OKWLanguage.Instance.Language

    Die englische Üersetzung muss immer vorhanden sein. Sollte eine andere Übersetzung fehlen, dann wir die englische Log-Meldung zurückgeliefert.

    Autor
    Zoltan Hrabovszki
    Datum
    2013_12_22

Definiert in Zeile 90 der Datei LogMessenger.cs.

Beschreibung der Konstruktoren und Destruktoren

OKW.LogMessenger.LogMessenger ( string  fpsClassname)

  1. Speichern des Klassennamens.
  2. Initialisieren der Klasse.

Parameter
fpsClassnameName der Klasse. Wird verwendet um die Instanz der Klasse mit der zugehärige XML-Datei zu verbinden.
Autor
Zoltan Hrabovszki
Datum
2013_12_22

Definiert in Zeile 122 der Datei LogMessenger.cs.

123  {
124  this.cvsClassName = fpsClassname;
125  this.Init();
126  }
void Init()
Initialisiert die Klasse:

Dokumentation der Elementfunktionen

string OKW.LogMessenger.GetMessage ( string  MethodName,
string  TextKey 
)

Holt die Log-Meldung für MethodeNmae/Textkey ohne weitere Parameter.

Parameter
MethodNameName der Methode
TextKeyText-Schlüssel
Rückgabe
Log-Meldung für die gegebene Paremeter und aktuelle Sprache.
Autor
Zoltan Hrabovszki
Datum
2013.12.22

Definiert in Zeile 151 der Datei LogMessenger.cs.

152  {
153  string lvs_Return = "Message Not Found!";
154 
155  lvs_Return = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
156 
157  return lvs_Return;
158  }
string ReadMessage(string ClassName, string MethodName, string TextKey)
Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei. "ClassName", "MethodName" and "TextKey" and Actual language from ini-file.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

string OKW.LogMessenger.GetMessage ( string  MethodName,
string  TextKey,
object  Parameter_1 
)

Holt die Log-Meldung für MethodeNmae/Textkey und einem Parameter.

Parameter
MethodNameName der Methode
TextKeyText-Schlüssel
Parameter_1Wert der in der Log_Meldung mit ausgegeben wird.
Rückgabe
Log-Meldung für die gegebene Paremeter und aktuelle Sprache.
Autor
Zoltan Hrabovszki
Datum
2013.12.22

Definiert in Zeile 181 der Datei LogMessenger.cs.

182  {
183  string lvs_Return = string.Empty;
184 
185  lvs_Return = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
186  lvs_Return = string.Format(lvs_Return, Parameter_1);
187 
188  return lvs_Return;
189  }
string ReadMessage(string ClassName, string MethodName, string TextKey)
Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei. "ClassName", "MethodName" and "TextKey" and Actual language from ini-file.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

string OKW.LogMessenger.GetMessage ( string  MethodName,
string  TextKey,
object  Parameter_1,
object  Parameter_2 
)

Holt die Log-Meldung für MethodeNmae/Textkey und einem Parameter.

Parameter
MethodNameName der Methode
TextKeyText-Schlüssel
Parameter_11. Wert der in der Log_Meldung mit ausgegeben wird.
Parameter_22. Wert der in der Log_Meldung mit ausgegeben wird.
Rückgabe
Log-Meldung für die gegebene Paremeter und aktuelle Sprache.
Autor
Zoltan Hrabovszki
Datum
2013.12.22

Definiert in Zeile 215 der Datei LogMessenger.cs.

216  {
217  string lvs_Return = "Message Not Found!";
218 
219  lvs_Return = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
220  lvs_Return = string.Format(lvs_Return, Parameter_1, Parameter_2);
221 
222  return lvs_Return;
223  }
string ReadMessage(string ClassName, string MethodName, string TextKey)
Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei. "ClassName", "MethodName" and "TextKey" and Actual language from ini-file.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

string OKW.LogMessenger.GetMessage ( string  MethodName,
string  TextKey,
object  Parameter_1,
object  Parameter_2,
object  Parameter_3 
)

Holt die Log-Meldung für MethodeNmae/Textkey und drei Parameter.

Parameter
MethodNameName der Methode
TextKeyText-Schlüssel
Parameter_11. Wert der in der Log_Meldung mit ausgegeben wird.
Parameter_22. Wert der in der Log_Meldung mit ausgegeben wird.
Parameter_22. Wert der in der Log_Meldung mit ausgegeben wird.
Rückgabe
Log-Meldung für die gegebene Paremeter und aktuelle Sprache.
Autor
Zoltan Hrabovszki
Datum
2013.12.22

Definiert in Zeile 250 der Datei LogMessenger.cs.

251  {
252  string lvs_Return = "Message Not Found!";
253 
254  lvs_Return = this.ReadMessage(this.cvsClassName, MethodName, TextKey);
255  lvs_Return = string.Format(lvs_Return, Parameter_1, Parameter_2, Parameter_3);
256 
257  return lvs_Return;
258  }
string ReadMessage(string ClassName, string MethodName, string TextKey)
Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei. "ClassName", "MethodName" and "TextKey" and Actual language from ini-file.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void OKW.LogMessenger.Init ( )
private

Initialisiert die Klasse:

  • LM- Dateinamen als ermitteln
Autor
Zoltan Hrabovszki
Datum
2013_12_22

Definiert in Zeile 273 der Datei LogMessenger.cs.

274  {
275  if (!this.bInit) {
276  try {
277 
278  this.__XMLFile = System.IO.Path.Combine(OKW_Ini.Instance.OKW_Enviroment.Folder_LogMessages, "LM_" + this.cvsClassName + ".xml");
279 
280  if (!System.IO.File.Exists(this.XMLFile)) {
281  System.Console.WriteLine("============================================================================================================");
282  System.Console.WriteLine("OKW Exception: File not found! -> '" + this.XMLFile + "'");
283  System.Console.WriteLine("============================================================================================================");
284 
285  throw new FileNotFoundException("File not found! The File was: '" + this.XMLFile + "'");
286  } else {
287  this.MyXPathDocument = new XPathDocument(this.XMLFile);
288  this.MyXPathNavigator = this.MyXPathDocument.CreateNavigator();
289  }
290 
291  this.bInit = true;
292  } finally {
293  System.Console.WriteLine(string.Empty);
294  }
295  }
296  }
string OKW.LogMessenger.ReadMessage ( string  ClassName,
string  MethodName,
string  TextKey 
)
private

Interne Kernfunktion holt die Log-Meldung mit Platzhaltern aus der XML-Datei. "ClassName", "MethodName" and "TextKey" and Actual language from ini-file.

Parameter
ClassNameName of the Class.
MethodNameName of the Method.
TextKeyKey for the Text-Message.
Autor
Zoltan Hrabovszki
Datum
2013_12_22

Definiert in Zeile 321 der Datei LogMessenger.cs.

322  {
323  string lvsReturn = "Message Not Found!";
324  string myPath = "//Class[@name='" + ClassName + "']/Method[@name='" + MethodName + "']/Text[@key='" + TextKey + "']/" + OKW.OKWLanguage.Instance.Language;
325 
326  XPathNodeIterator iter = this.MyXPathNavigator.Select(myPath);
327 
328  if (iter.Count < 1 || iter.Count > 1) {
329  // Es wurde kein Wert gefunden -> Exception MsgNitFound auslösen...
330  throw new OKWMessageNotFoundException("Message not Found. Class: " + ClassName +
331  ", Method: " + MethodName +
332  ", TextKey: " + TextKey,
333  ", Gefunden Werte: " + iter.Count);
334  } else {
335  iter.MoveNext();
336  lvsReturn = iter.Current.Value;
337  }
338 
339  return lvsReturn;
340  }
http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste
Definition: OKWLanguage.cs:50
static T Instance
Holt die einzige Instanz dieser Klasse.
Definition: Core.cs:40

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: