Question

Tout d'abord, je sais Clog , et je ne veux pas mettre en œuvre cette pièce. La raison? Nous ne pouvons pas maintenir l'exploitation forestière severeal « cadres ».

Donc à ma question:

Est-il possible de mettre en œuvre log4net dans une application Silverlight? Ce que je veux réaliser est l'exploitation forestière à la stockage isolé. Je sais, il n'y a que 1 Mo de stockage disponible, mais cette limite peut être augmentée (l'utilisateur doit accepter cela, je sais aussi). Soit dit en passant, s'il vous plaît ne me fournit pas des solutions de rechange. Je ne veux seulement savoir si quelqu'un mis en place un log4net au stockage isolé .

Était-ce utile?

La solution

Je ne peux pas imaginer qu'il est possible. Vous devez télécharger la source log4net et essayer de le compiler contre l'exécution de silverlight. Je suppose qu'il est possible d'adapter les parties du code et de faire construire en silverlight, mais qui sonne comme beaucoup de travail dur. Vous êtes probablement mieux rouler votre propre solution, ou en utilisant CLog (oups).

Autres conseils

Voici ce que je l'ai fait ..

using System.IO.IsolatedStorage;
using System.IO;

namespace Solution.Silverlight.Classes
{
    public static class Logging
    {
        public static void Log(string message, LOGLEVEL logLevel)
        {
            try
            {
                using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (Stream stream = new IsolatedStorageFileStream("Solution.Silverlight.log", FileMode.Append, FileAccess.Write, store))
                    {
                        StreamWriter writer = new StreamWriter(stream);
                        switch (logLevel)
                        {
                            case LOGLEVEL.INFO:
                                writer.Write(String.Format("{0:u} [INFO] {1}{2}", DateTime.Now, message,Environment.NewLine));
                                break;
                            case LOGLEVEL.WARNING:
                                writer.Write(String.Format("{0:u} [WARNING] {1}{2}", DateTime.Now, message, Environment.NewLine));
                                break;
                            case LOGLEVEL.ERROR:
                                writer.Write(String.Format("{0:u} [ERROR] {1}{2}", DateTime.Now, message, Environment.NewLine));
                                break;
                            case LOGLEVEL.FATAL:
                                writer.Write(String.Format("{0:u} [FATAL] {1}{2}", DateTime.Now, message, Environment.NewLine));
                                break;
                            default:
                                break;
                        }
                        writer.Close();
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
    }
}


public enum LOGLEVEL
{
    INFO,
    WARNING,
    ERROR,
    FATAL
}

Connexion Application Block de Microsoft Enterprise Library 5.0 est maintenant disponible pour Silverlight. Jetez un oeil à la et correspondant démo

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top