我有一个关于将日志文件同步到blob存储的问题。实际上,我可以将日志文件同步到blob存储,但在此之后,当我将项目新部署到azure时,我的项目文件正在更改,日志文件的内容也会发生变化,尽管文件名保持不变。因此,WebRole正在尝试同步日志文件并执行此操作,但是由于文件名,文件被覆盖并且blob存储中的所有数据都已消失。如何保存不同部署的日志文件?我希望我能解释你,对不起我的英语。
答案 0 :(得分:0)
您可以在使用之前更改fileName。通过覆盖File属性,您可以向文件名添加任何唯一的前缀(DeploymentID,TimeTicks,GUID ...)。
public class AzureLocalStorageAppender:RollingFileAppender
{
public override string File
{
get
{
//Trace.WriteLine("get_"+base.File);
return base.File;
}
set
{
base.File = RoleEnvironment.GetLocalResource("LocalResourceNameHere").RootPath + @"\"
+ "_" + Guid.NewGuid().ToString()
+ new FileInfo(value).Name;
//Trace.WriteLine(base.File);
}
}
}