Domanda

Primo, io la conosco Intasare, e non voglio implementare questo pezzo.Il motivo?Non siamo in grado di mantenere mentre altre la registrazione di 'quadri'.

Quindi alla mia domanda:

È possibile implementare log4net in un'applicazione Silverlight?Quello che voglio ottenere è la registrazione del Archiviazione Isolata.Lo so, c'è solo 1 MB di spazio di archiviazione disponibile, ma questo limite può essere aumentato (l'utente deve accettare questo, so troppo).Comunque, per favore, non mi forniscono alternative.Io non solo voglio sapere se qualcuno ha attuato una log4net archiviazione isolata.

È stato utile?

Soluzione

Non riesco a immaginare che è possibile.Si dovrebbe scaricare il log4net di origine e di provare a compilare contro il runtime di silverlight.Suppongo che potrebbe essere possibile adattare le parti di codice e farla costruire in silverlight, ma che suona come un sacco di duro lavoro.Si sono probabilmente meglio rotolare il vostro proprio soluzione, o l'utilizzo di Intasare (ops).

Altri suggerimenti

Ecco quello che ho fatto..

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
}

Il L'Applicazione Di Registrazione Blocco Microsoft Enterprise Library 5.0 è ora disponibile per Silverlight.Date un'occhiata al Silverlight Integration Pack e il corrispondente demo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top