Windows Live Writer Joomla

markus 12/18/2008 11:48:07 AM

Mit dem Windows Live Writer lassen sich auch Artikel unter Joomla erstellen. Wie das geht wird  im Livewriter Blog beschrieben. Das einzige Problem was mir blieb, war die Meldung “Serverfehler 801 Section is not found”. Nachdem ich im Joomla Plugin den Parameter “default categorie” auf irgendeine Kategorie gesetzt hatte ging es dann auch ohne Probleme.

Einstellungen Joomla

Hier noch einmal kurz die notwendigen Schritte zusammen gefasst:

  • MovableType XML-RPC Plugin installieren, aktivieren und “Default category” auswählen
  • Konto im Livewriter anlegen, Typ “Movable Type API” auswählen und als URL “http://[url zu Joomla]/xmlrpc/index.php” eintragen

Windows 7

markus 12/18/2008 11:07:33 AM

Seit einiger Zeit gibt es das deutsche Weblog zu Windows 7, hier könnte ihr Neuigkeiten rund um die nächste Version des Windows Betriebssystems bekommen. Einige neue Features wie z.B. das Brennen von ISO Files oder “Shake it” + “Snap” werden dort beschrieben.

Snap wird dazu verwendet Fenster an den Bildschirmrändern anzudocken oder das Fenster zu vergrößern. Im ersten Fall zeiht man das Fenster einfach an die rechte Seite bis die Mails den Bildschirmrand erreicht hat und lässt das Fenster wieder los, somit wird das Fenster an der Seite angedockt und nimmt die Hälfte des Monitors ein. Ein zweites Fenster auf der anderen Seite angedockt und schon hat man beide hübsch nebeneinander, wie in diesem Video zu sehen ist:

Wie im Artikel zu “Snap” beschrieben gibt es bereits ein Tool für Windows Vista + XP, dass die Snap Funktion nachbildet: http://www.aerosnap.de.vu/.

Die erste Woche Skichallenge ist geschafft

markus 12/16/2008 11:53:15 PM

Die erste Woche der Skichallenge 09 ist geschafft, das erste Rennen steht vor der Tür. Informationen rund um unsere Gruppe gibt es wie immer im Skizentrum der Macht. Irgendwie ist es wohl zu dem unglücklichen Umstand gekommen, das unsere Skihaserl Gruppe in diesem Jahr wohl schon durch jemand anderen (die Sau) belegt worden ist, deshalb sind wir in 09 die “Skihaserl Germany”, naja.

Christian geht natürlich wieder voll ab und ich hänge über 10 Sekunden hinterher (wie immer). Alexander hat leider noch nicht die Möglichkeit gehabt zu trainieren, da die Skichallenge nicht unter Linux läuft. Während das Mittel der Wahl im letzten Jahr noch Wine war funktioniert das mit der aktuellen Version nicht. Wer also Tipps für uns bzgl. der Installation von SC 09 unter Linux hat, möge sie hier in den Kommentaren hinterlassen.

Verwendung der Google Ajax Feed API

markus 12/16/2008 11:42:21 PM

Über die Google Ajax Feed API können RSS Feeds auf die eigene Homepage eingebaut werden. Nach kostenloser Registrierung bekommt man einen API Key und kann dann auch schon loslegen.

Im Skizentrum der Macht habe ich die Feed API verwendet um die Aktuellen Ergebnisse anzuzeigen, das klappt ganz gut. Beispiel Code für das Feedcontrol findet ihr z.B.hier: http://code.google.com/intl/de/apis/ajaxfeeds/documentation/#FEEDCONTROL.

Es besteht auch unter anderem die Möglichkeit RSS Feeds von Bilderdiensten wie Picasa oder flickr als Slideshow einzubinden, siehe hier.

Weihnachtsgeschenke kaufen

markus 12/16/2008 11:23:32 PM

Mit dem Widget auf der rechten Seite hat es leider Probleme im IE gegeben, deshalb habe ich dort jetzt den Bereich “Das Zentrum unterstützen” eingefügt, dort gibt es einen Link zu amazon Website sowie eine Suchbox die direkt zur amazon Website weiterleitet. In beiden Fällen haben wir was davon und euch entsteht kein Nachteil. Also denkt nett an uns beim Weihnachtseinkauf!

Weiteres in eigener Sache: Das hat jetzt nichts mit dem Weihnachtseinkauf zu tun, aber auf der rechten Seite ist jetzt die Funktion “Zufallspost” eingefügt. Einfach mal draufklicken und sich über einen alten Post aus dem Archiv freuen.

Die Skihaserl komman! Auch 2009

markus 12/6/2008 6:05:02 PM

Da braut sich was zusammen: http://skichallenge.orf.at/

START: 9. DEZEMBER 2008

Zigarettenpause ist vorbei, endlich!

markus 12/6/2008 1:35:04 PM

Die längste Zigarettenpause der Musikgeschichte hat endlich ein Ende hat und Selig machen in Originalbesetzung gemeinsam da weiter, wo sie aufgehört haben.
Klingt unglaublich. Ist unglaublich. - Ist aber wahr!

Quelle: selig1.de

Wow, was für eine Meldung. Wer hätte damit gerechnet? Während der "Zigarettenpause" habe ich die musikalischen Aktivitäten von Jan Plewka verfolgt und Alben seiner Band "Zinoba" und das Soloabum, auch die Band Kungfu von Gitarist Christan Neander habe ich live im Logo in Ahaus gesehen. Hauptsache die Band hält nach der Reuinion länger als die Einzelprojekte der Mitglieder.

Was es mit der Zigrarettenpause auf sich hat könnte ihr in diesem Artikel des Hamburger Abendblattes lesen.

Schloss Sanssouci

markus 12/6/2008 1:25:33 PM

Habe gerarde zufällig im rbb eine ganz Interessante Dokumentation zum Schloss/Park Sanssouci gesehen. Ein echt schöner Park in dem eine Menge Leute beschäftigt sind mit der Pflege der Gräten und Restauration der Figuren. Da es von einem schönen Park auch schöne Fotos gibt habe ich gerade direkt mal bei flickr nachgesehen und siehe da:

Sans Souci - Potsdam Fra Sans Souci Fallen in his arms Sanssouci Potsdam Germany
created with linkr
 
Weitere Bilder gibt es hier, weitere Infos hier.

Einkaufen im Zentrum

markus 12/2/2008 9:28:00 PM
Wer der Liebsten oder sich selber etwas gutes von amazon kaufen möchte, der sollte das ruhig über die Sidebar hier im Zentrum machen, da haben wir dann alle was davon :-)

Verwendung von log4net

markus 11/22/2008 1:44:00 AM

Manchmal ist es halt so, dass ein Progamm nicht so ganz funktioniert, wie man es gern hätte oder man wüsste gerne, was ein Programm gerade so macht. Um nicht selber Mechanismen für das Schreiben in Logdateien oder das EventLog zu erstellen kann man ein bestehendes Loggingframework verwenden. Eine nettes Loggingframework ist log4net. Es ist relativ simpel ins eigenen Programm eingebunden und lässt Ausgaben in verschiedene Ziele zu, wie z.B. Eventlog, Datenbank, Textdatei, E-Mail per SMTP oder über .Net Remoting.

Nachfolgend beschreibe ich kurz und einfach, was zu tun ist um die eigene Anwendung etwas kommunikationsfreudiger zu machen. Weitere Details findet ihr in den Links am Ende des Posts.

Mein Programm sieht so aus:

   1:  using System;
   2:   
   3:   
   4:  //Legt die Konfiguration auf die Extension "log4net" fest. 
   5:  //Die Konfiguration sollte also Application.exe.log4net benannt werden.
   6:  [assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "log4net", Watch = true)]
   7:  namespace logMal
   8:  {
   9:      class Program
  10:      {
  11:          //Erstellt den Logger
  12:          private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  13:   
  14:          static void Main(string[] args)
  15:          {
  16:              log.Info("Anwendung gestartet");
  17:   
  18:              try
  19:              {
  20:                  Convert.ToInt32("log4net");
  21:              }
  22:              catch (Exception ex)
  23:              {
  24:                  log4net.ThreadContext.Properties["EventID"] = 4711;
  25:                  log.Error(ex.ToString());
  26:                  
  27:              }
  28:              log.Info("Anwendung beendet");
  29:              
  30:          }
  31:      }
  32:  }

Wichtig ist zunächst, einen Verweis auf die log4net.dll zu erstellen. In Zeile 6 wird dann die Konfigurationsdatei bzw. deren Endung angeben. Man kann entweder mittels "ConfigFile" die komplette Konfigurationsdatei angeben oder mittels "ConfigFileExtension" die Endung der Konfigurationsdatei. Wird die Logdatei wie im Beispiel konfiguriert erwartet log4net die Konfigurationsdatei mit dem Namen Programm.exe.log4net.

In Zeile 12 wird der Logger erstellt, in Zeile 16, 25 und 28 werden dann die Logmeldungen über den Logger ausgeben, dabei werden versch. Kategorien angegeben (Error und Info). Für die Ausgaben in das EventLog kann noch die EventID angegben werden (siehe Zeile 24).

Das war es dann auch schon mit der Anwendung, interessant wird es dann jetzt in der Konfiguration:

   1:  <?xml version="1.0" encoding="utf-8" ?>
   2:  <!-- This section contains the log4net configuration settings 
   3:  Diese Datei muss "neben" der .exe liegen
   4:  -->
   5:  <log4net>
   6:    <!-- Define some output appenders -->
   7:   
   8:    <!--EventLogAppender schreibt Meldungen ins Eventlog-->
   9:    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
  10:   
  11:      <layout type="log4net.Layout.SimpleLayout" />
  12:   
  13:      <mapping>
  14:        <level value="ERROR" />
  15:        <eventLogEntryType value="Error" />
  16:      </mapping>
  17:      <mapping>
  18:        <level value="DEBUG" />
  19:        <eventLogEntryType value="Information" />
  20:      </mapping>
  21:   
  22:    </appender>
  23:   
  24:    <!-- RollingFileAppender schreibt eine Logdatei
  25:        Die Logdatei kann entweder nach Datum oder Größe überschrieben werden
  26:    -->
  27:    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  28:      <file value="logfile.log" />
  29:      <appendToFile value="true" />
  30:      <maximumFileSize value="100KB" />
  31:      <maxSizeRollBackups value="2" />
  32:   
  33:      <layout type="log4net.Layout.PatternLayout">
  34:        <param name="Header" value="[Header]\r\n" />
  35:        <param name="Footer" value="[Footer]\r\n" />
  36:        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
  37:      </layout>
  38:   
  39:    </appender>
  40:   
  41:    <!-- Versenden von Mails -->
  42:    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
  43:      <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
  44:      <subject value="%-5level %logger" />
  45:   
  46:      <to value="you@me.co.uk" />
  47:      <from value="me@me.co.uk" />
  48:      <smtpHost value="localhost" />
  49:    </appender>
  50:   
  51:    <!-- Setup the root category, add the appenders and set the default level -->
  52:    <!-- Reihenfolge All < Debug < Info < Warn < Error < Fatal < Off -->
  53:    <root>
  54:      <level value="DEBUG" />
  55:      <appender-ref ref="RollingFile" />
  56:      <appender-ref ref="EventLogAppender" />
  57:      <appender-ref ref="SmtpAppender" />
  58:    </root>
  59:  </log4net>

In einer Konfiguration können mehrere Appender angegeben werden. Ein Appender gibt immer das Ziel für's Logging an. Ab Zeile 9 wird der EventLogAppender konfiguriert um in das Eventlog (wär hätte das gedacht) zu schreiben. Für die Ausgabe wird noch ein Layout Pattern angegeben (Zeile 11). Ab Zeile 13 wird dann ein Mapping zwischen den log4net Kategorien und den EventLog Kategorien erstellt.

Der zweite Appender wird ab Zeile 27 definiert und ist ein RollingFileAppender. Dieser Appender schreibt eine Logdatei, die entweder nach Größe (im Beispiel 100KB, siehe Zeile 30) oder nach Datum begrenzt werden kann. Die "maxSizeRollBackups" gibt an, wie viele Dateien erhalten bleiben bevor eine Datei überschrieben wird. Um das Logverzeichnis nicht zu überfüllen ist das ein sehr guter Mechanismus.

Ein weiterer Appender wird ab Zeile 41 definiert. Über den SMTP Appender (wer zählt, wie oft ich Appender in diesem Post geschrieben habe und mir den Wert per Mail schickt, bekommt ein Eis) können die Meldungen direkt per Mail versendet werden. Es müssen nur die notwendigen Paramter für eine Mail (Subject, to, from, smtpHost) sowie der Mailtext angegeben werden und schon wird die Mail versendet.

In der Ausgabe 2/2005 der dotnetpro gibt es eine interessanten Artikel über das Loggen mittels log4net. Hier gibt es auch eine List der verfügbaren Appender, der verfügbaren Layouts sowie der Formatierungsparameter.

Ab Zeile 53 werden noch allgemeine Parameter konfiguriert. In Zeile 54 wird festgelegt, was geloggt werden soll. Bei "All" wird alles geloggt, bei "Error" werden nur die Fehler und darunterliegende (siehe Zeile 52) Meldungen geloggt.

Es ist auch möglich, für verschiedene Klassen verschiedene Appender anzugeben. Dazu muss unterhalb des <root> Elements ein Logger Element angegeben werden.

   1:  <logger name="MeinNamespace.MeineKlasse">
   2:      <level value="ALL" />
   3:      <appender-ref ref="RollingLogFileAppender" />
   4:  </logger>

So ist es möglich für die Klasse1 ins Eventlog zu posten und für Meldungen aus Klasse2 in eine Logdatei.

Interessant wäre noch zu wissen, ob und wie es möglich ist, pro Level verschiedene Appender anzugeben. Also bis Level "Warn" wird in eine Datei geschrieben und "Error" Meldungen werden per E-Mail gesendet. Falls da jemand noch Tipps für mich hat, wäre ich sehr dankbar.

Das war ein Schnellüberblick auf das log4net Framework aber ich denke damit bekommt man einen schnellen Einstieg.

Links:

log4net Homepage: http://logging.apache.org/log4net/

log4net Download: http://logging.apache.org/log4net/download.html

log4net SDK: http://logging.apache.org/log4net/release/sdk/index.html

log4net Configuration Examples: http://logging.apache.org/log4net/release/config-examples.html

dotnetpro 02/2005 "Logging mit log4net": http://www.dotnetpro.de/articles/onlinearticle1567.aspx

Downloads:

Program.cs (937,00 bytes)

logMal.exe.log4net (1,94 kb)

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen, customized by Markus Bütterhoff.

Über das Zentrum

Name of author Das Zentrum der Macht ist ein Gemeinschaftsblog von Markus, Dirk und Jörg.

Sende uns eine Mail Send mail

skiZentrum der Macht

Zufallspost

Zufallspost lesen

Das Zentrum unterstützen

amazon Store

Comment logo Recent comments

Note logo Disclaimer

Alle Posts sind geil.
Wir übernehmen keine Verantwortung für evtl. bleibende Schäden.

© Copyright 2009

Sign in