Updating logger to flush immediately in development and to remove debug appenders in production.

--HG--
branch : dev
This commit is contained in:
Andre Rodrigues
2010-12-13 14:58:32 -08:00
parent 00e2f9f203
commit 48d3f1d647
7 changed files with 92 additions and 52 deletions

View File

@@ -3,19 +3,19 @@
<!-- Initialization -->
<PropertyGroup>
<LibFolder>$(MSBuildProjectDirectory)\lib</LibFolder>
<SrcFolder>$(MSBuildProjectDirectory)\src</SrcFolder>
<BuildFolder>$(MSBuildProjectDirectory)\build</BuildFolder>
<ArtifactsFolder>$(MSBuildProjectDirectory)\artifacts\Azure</ArtifactsFolder>
<CompileFolder>$(BuildFolder)\Compile</CompileFolder>
<ServiceFolder>$(CompileFolder)\Orchard.Azure.CloudService.csx</ServiceFolder>
<CloudRootFolder>$(ServiceFolder)\roles\Orchard.Azure.Web\approot</CloudRootFolder>
<WebSitesFolder>$(CompileFolder)\_PublishedWebsites</WebSitesFolder>
<StageFolder>$(BuildFolder)\Stage</StageFolder>
</PropertyGroup>
<PropertyGroup>
<LibFolder>$(MSBuildProjectDirectory)\lib</LibFolder>
<SrcFolder>$(MSBuildProjectDirectory)\src</SrcFolder>
<BuildFolder>$(MSBuildProjectDirectory)\build</BuildFolder>
<MsBuildTasksFolder>$(MSBuildProjectDirectory)\buildtasks</MsBuildTasksFolder>
<ArtifactsFolder>$(MSBuildProjectDirectory)\artifacts\Azure</ArtifactsFolder>
<CompileFolder>$(BuildFolder)\Compile</CompileFolder>
<ServiceFolder>$(CompileFolder)\Orchard.Azure.CloudService.csx</ServiceFolder>
<CloudRootFolder>$(ServiceFolder)\roles\Orchard.Azure.Web\approot</CloudRootFolder>
<WebSitesFolder>$(CompileFolder)\_PublishedWebsites</WebSitesFolder>
<StageFolder>$(BuildFolder)\Stage</StageFolder>
</PropertyGroup>
<Import Project="$(LibFolder)\msbuild\MSBuild.Community.Tasks.Targets"/>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Cloud Service\1.0\Visual Studio 10.0\Microsoft.CloudService.targets" />
@@ -39,10 +39,10 @@
<!-- Building -->
<Target Name="Clean">
<MSBuild Projects="$(SrcFolder)\Orchard.Azure\Orchard.Azure.sln" Targets="Clean" />
<RemoveDir Directories="$(BuildFolder)" />
</Target>
<Target Name="Clean">
<MSBuild Projects="$(SrcFolder)\Orchard.Azure\Orchard.Azure.sln" Targets="Clean" />
<RemoveDir Directories="$(BuildFolder)" />
</Target>
<Target Name ="Compile">
<MSBuild
@@ -62,17 +62,18 @@
<!-- Testing - Azure only -->
<Target Name ="Test">
<CreateItem Include="$(CompileFolder)\*Azure.Tests.*dll">
<Output TaskParameter="Include" ItemName="TestAssemblies" />
</CreateItem>
<NUnit Assemblies="@(TestAssemblies)" ToolPath="$(LibFolder)\nunit" WorkingDirectory="$(CompileFolder)" />
<CreateItem Include="$(CompileFolder)\*Azure.Tests.*dll">
<Output TaskParameter="Include" ItemName="TestAssemblies" />
</CreateItem>
<NUnit Assemblies="@(TestAssemblies)" ToolPath="$(LibFolder)\nunit" WorkingDirectory="$(CompileFolder)" />
</Target>
<!-- Packaging -->
<UsingTask AssemblyFile="$(MsBuildTasksFolder)\MSBuild.Orchard.Tasks.dll" TaskName="MSBuild.Orchard.Tasks.XmlDelete" />
<Target Name="Package-ForCloud">
<ItemGroup>
@@ -112,6 +113,24 @@
XPath="/log4net/root/priority/@value"
Value="ERROR" />
<XmlDelete XmlFileName="$(CloudRootFolder)\Config\log4net.config"
XPath="/log4net/appender[@name='debug-file']" />
<XmlDelete XmlFileName="$(CloudRootFolder)\Config\log4net.config"
XPath="/log4net/appender[@name='debugger']" />
<XmlDelete XmlFileName="$(CloudRootFolder)\Config\log4net.config"
XPath="/log4net/appender[@name='error-file']/filter" />
<XmlDelete XmlFileName="$(CloudRootFolder)\Config\log4net.config"
XPath="/log4net/logger[@name='Orchard.Localization']" />
<XmlDelete XmlFileName="$(CloudRootFolder)\Config\log4net.config"
XPath="/log4net/logger[@name='Orchard']" />
<XmlDelete XmlFileName="$(CloudRootFolder)\Config\log4net.config"
XPath="/log4net/root/appender-ref[@ref='debug-file']" />
<Copy
SourceFiles="$(SrcFolder)\Orchard.Azure\Orchard.Azure.CloudService\ServiceConfiguration.cscfg"
DestinationFolder="$(StageFolder)"
@@ -148,6 +167,6 @@
</ItemGroup>
<MakeDir Directories="$(ArtifactsFolder)" />
<Zip Files="@(Zip-Stage)" WorkingDirectory="$(StageFolder)" ZipFileName="$(ArtifactsFolder)\AzurePackage.zip" />
<Zip Files="@(Zip-Stage)" WorkingDirectory="$(StageFolder)" ZipFileName="$(ArtifactsFolder)\AzurePackage.zip" />
</Target>
</Project>

View File

@@ -231,6 +231,24 @@
XPath="/log4net/root/priority/@value"
Value="ERROR" />
<XmlDelete XmlFileName="$(StageFolder)\Config\log4net.config"
XPath="/log4net/appender[@name='debug-file']" />
<XmlDelete XmlFileName="$(StageFolder)\Config\log4net.config"
XPath="/log4net/appender[@name='debugger']" />
<XmlDelete XmlFileName="$(StageFolder)\Config\log4net.config"
XPath="/log4net/appender[@name='error-file']/filter" />
<XmlDelete XmlFileName="$(StageFolder)\Config\log4net.config"
XPath="/log4net/logger[@name='Orchard.Localization']" />
<XmlDelete XmlFileName="$(StageFolder)\Config\log4net.config"
XPath="/log4net/logger[@name='Orchard']" />
<XmlDelete XmlFileName="$(StageFolder)\Config\log4net.config"
XPath="/log4net/root/appender-ref[@ref='debug-file']" />
<!-- move over extra non-content files the csproj referenced -->
<Copy SourceFiles="@(StageProjectAlteration-ExtraFiles->'$(SrcFolder)\Orchard.Web\%(Identity)')"
DestinationFolder="$(StageFolder)\%(RecursiveDir)"/>

View File

@@ -8,7 +8,7 @@
<root>
<!-- Value of priority may be ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
<priority value="WARN" />
<appender-ref ref="error-file" />
<appender-ref ref="debug-file" />
</root>
@@ -28,7 +28,6 @@
<priority value="WARN" />
</logger>
<!-- example of turning on the output from a component or namespace-->
<!--
<logger name="Orchard.Data.SessionLocator">
@@ -36,32 +35,17 @@
</logger>
-->
<!-- debugger: visual studio, if attached -->
<appender name="debugger" type="log4net.Appender.DebugAppender">
<!-- debugger: visual studio, if attached -->
<immediateFlush value="true" />
<layout type="log4net.Layout.SimpleLayout" />
</appender>
<!-- debug log: all messages, based on logger priority settings of namespaces above -->
<appender name="debug-file" type="Orchard.Logging.OrchardFileAppender">
<file value="App_Data/Logs/orchard-debug-" />
<appendToFile value="true" />
<immediateFlush value="false" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<rollingStyleFrequency value="Once" />
<datepattern value="dd.MM.yyyy-hh_mm_ss.fff'.log'" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %logger - %message%newline" />
</layout>
</appender>
<!-- error log: only ERROR and FATAL subset of debug log -->
<appender name="error-file" type="Orchard.Logging.OrchardFileAppender">
<file value="App_Data/Logs/orchard-error-" />
<!-- debug log: all messages, based on logger priority settings of namespaces above -->
<file value="App_Data/Logs/orchard-debug" />
<appendToFile value="true" />
<!-- immediate flush on error log, to avoid data loss with sudden termination -->
@@ -70,10 +54,29 @@
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<rollingStyleFrequency value="Once" />
<datepattern value="dd.MM.yyyy-hh_mm_ss.fff'.log'" />
<datepattern value="-dd.MM.yyyy-hh_mm_ss.fff'.log'" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %logger - %message%newline" />
</layout>
</appender>
<appender name="error-file" type="Orchard.Logging.OrchardFileAppender">
<!-- error log: only ERROR and FATAL subset of debug log -->
<file value="App_Data/Logs/orchard-error" />
<appendToFile value="true" />
<!-- immediate flush on error log, to avoid data loss with sudden termination -->
<immediateFlush value="true" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<rollingStyleFrequency value="Once" />
<datepattern value="-dd.MM.yyyy-hh_mm_ss.fff'.log'" />
<!-- only error and fatal messages end up in this target, even if child loggers accept lower priority -->
<filter type="log4net.Filter.LevelRangeFilter">
<!-- only error and fatal messages end up in this target, even if child loggers accept lower priority -->
<levelMin value="ERROR" />
</filter>

View File

@@ -9,9 +9,9 @@ using Orchard.Core.Routable.Models;
using Orchard.DisplayManagement;
using Orchard.Themes;
using Orchard.UI.Navigation;
using Orchard.Settings;
namespace Orchard.Core.Containers.Controllers {
using Orchard.Settings;
public class ItemController : Controller {
private readonly IContentManager _contentManager;

View File

@@ -14,9 +14,9 @@ using Orchard.Localization;
using Orchard.UI.Admin;
using Orchard.UI.Navigation;
using Orchard.UI.Notify;
using Orchard.Settings;
namespace Orchard.Blogs.Controllers {
using Orchard.Settings;
[ValidateInput(false), Admin]
public class BlogAdminController : Controller, IUpdateModel {

View File

@@ -11,9 +11,9 @@ using Orchard.Logging;
using Orchard.Services;
using Orchard.Themes;
using Orchard.UI.Navigation;
using Orchard.Settings;
namespace Orchard.Blogs.Controllers {
using Orchard.Settings;
[Themed]
public class BlogController : Controller {

View File

@@ -165,7 +165,7 @@ namespace Orchard.Environment.Extensions {
foreach(var dup in duplicates) {
sb.Append(T("Extension '{0}' has been found from the following locations: {1}.\r\n", dup.Key, string.Join(", ", dup.Select(e => e.Location + "/" + e.Id))));
}
sb.Append(T("This issue can be usually by solved by removing or renaming the conflicting extension."));
sb.Append(T("This issue can be usually solved by removing or renaming the conflicting extension."));
Logger.Error(sb.ToString());
throw new OrchardException(new LocalizedString(sb.ToString()));
}