首先,我知道关于Clog,我不想实现这一块。原因?我们不能维护严重的日志“框架”。Silverlight:Log4Net到孤立存储
所以我的问题:
是否有可能实现在Silverlight应用程序log4net?我想实现的是登录到Isolated Storage。我知道,只有1 MB的存储空间可用,但这个限制可以增加(用户必须接受这一点,我也知道)。顺便说一下,请不要提供替代品。我只想知道是否有人实施了log4net隔离存储。
首先,我知道关于Clog,我不想实现这一块。原因?我们不能维护严重的日志“框架”。Silverlight:Log4Net到孤立存储
所以我的问题:
是否有可能实现在Silverlight应用程序log4net?我想实现的是登录到Isolated Storage。我知道,只有1 MB的存储空间可用,但这个限制可以增加(用户必须接受这一点,我也知道)。顺便说一下,请不要提供替代品。我只想知道是否有人实施了log4net隔离存储。
我无法想象这是可能的。您将不得不下载log4net源代码并尝试针对silverlight运行时进行编译。我想可能会调整代码的一部分并使它成为silverlight,但这听起来像是很多艰苦的工作。你可能更适合自己的解决方案,或者使用CLog(哎呀)。
这里是我做了什么..
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
}
不需要switch语句。你可以用下面的代码来替换整个东西:writer.Write(String.Format(“{0:u} [{1}] {2} {3}”,DateTime.Now,logLevel.ToString()。ToUpper(),消息,Environment.NewLine)); – 2011-02-09 00:59:34
我害怕使用你的代码,因为我的应用根据有多少用户连接到它创建了多个线程,它在wp8上的web服务器实现,打开和关闭隔离存储文件可能不是每个日志调用的好主意。 – 2014-04-01 13:15:57
的记录应用程序块微软企业库5.0的现在可用于Silverlight的。看看Silverlight Integration Pack和相应的demo。
“请不要提供我的选择” - 一个奇怪的立场! – 2010-03-03 08:06:17
@Mitch:Silverlight的可靠本地存储 - 真的有隔离存储的替代品吗? – 2010-03-03 08:21:17
@Peter:我指的是“只想知道是否有人将log4net安装到隔离存储器” – 2010-03-03 08:32:49