Adding HttpPlatformHandler logging defaults to web.config
- writing a default path to log file if one does not exist - setting stdoutLogEnabled to false if the attribute does not exist
This commit is contained in:
parent
31f4b41a2e
commit
674efca4de
|
|
@ -59,6 +59,7 @@ namespace Microsoft.AspNetCore.Tools.PublishIIS
|
||||||
{
|
{
|
||||||
httpPlatformElement.SetAttributeValue("processPath", Path.Combine("..", appName));
|
httpPlatformElement.SetAttributeValue("processPath", Path.Combine("..", appName));
|
||||||
SetAttributeValueIfEmpty(httpPlatformElement, "stdoutLogEnabled", "false");
|
SetAttributeValueIfEmpty(httpPlatformElement, "stdoutLogEnabled", "false");
|
||||||
|
SetAttributeValueIfEmpty(httpPlatformElement, "stdoutLogFile", @"..\logs\stdout.log");
|
||||||
SetAttributeValueIfEmpty(httpPlatformElement, "startupTimeLimit", "3600");
|
SetAttributeValueIfEmpty(httpPlatformElement, "startupTimeLimit", "3600");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Tools.PublishIIS.Tests
|
||||||
<handlers>
|
<handlers>
|
||||||
<add name=""httpPlatformHandler"" path=""*"" verb=""*"" modules=""httpPlatformHandler"" resourceType=""Unspecified""/>
|
<add name=""httpPlatformHandler"" path=""*"" verb=""*"" modules=""httpPlatformHandler"" resourceType=""Unspecified""/>
|
||||||
</handlers>
|
</handlers>
|
||||||
<httpPlatform processPath=""..\test.exe"" stdoutLogEnabled=""false"" startupTimeLimit=""3600""/>
|
<httpPlatform processPath=""..\test.exe"" stdoutLogEnabled=""false"" stdoutLogFile=""..\logs\stdout.log"" startupTimeLimit=""3600""/>
|
||||||
</system.webServer>
|
</system.webServer>
|
||||||
</configuration>");
|
</configuration>");
|
||||||
|
|
||||||
|
|
@ -96,6 +96,58 @@ namespace Microsoft.AspNetCore.Tools.PublishIIS.Tests
|
||||||
WebConfigTransform.Transform(input, "app.exe").Descendants("httpPlatform").Elements().Single()));
|
WebConfigTransform.Transform(input, "app.exe").Descendants("httpPlatform").Elements().Single()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void WebConfigTransform_adds_stdoutLogEnabled_if_attribute_is_missing()
|
||||||
|
{
|
||||||
|
var input = new XDocument(WebConfigTemplate);
|
||||||
|
input.Descendants("httpPlatform").Attributes("stdoutLogEnabled").Remove();
|
||||||
|
|
||||||
|
Assert.Equal(
|
||||||
|
"false",
|
||||||
|
(string)WebConfigTransform.Transform(input, "test.exe").Descendants().Attributes("stdoutLogEnabled").Single());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Theory]
|
||||||
|
[InlineData(null)]
|
||||||
|
[InlineData("false")]
|
||||||
|
[InlineData("true")]
|
||||||
|
public void WebConfigTransform_adds_stdoutLogFile_if_attribute_is_missing(string stdoutLogFile)
|
||||||
|
{
|
||||||
|
var input = new XDocument(WebConfigTemplate);
|
||||||
|
|
||||||
|
var httpPlatformElement = input.Descendants("httpPlatform").Single();
|
||||||
|
httpPlatformElement.Attribute("stdoutLogEnabled").Remove();
|
||||||
|
if (stdoutLogFile != null)
|
||||||
|
{
|
||||||
|
httpPlatformElement.SetAttributeValue("stdoutLogEnabled", stdoutLogFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
Assert.Equal(
|
||||||
|
@"..\logs\stdout.log",
|
||||||
|
(string)WebConfigTransform.Transform(input, "test.exe").Descendants().Attributes("stdoutLogFile").Single());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Theory]
|
||||||
|
[InlineData(null)]
|
||||||
|
[InlineData("true")]
|
||||||
|
[InlineData("false")]
|
||||||
|
public void WebConfigTransform_does_not_change_existing_stdoutLogEnabled(string stdoutLogEnabledValue)
|
||||||
|
{
|
||||||
|
var input = new XDocument(WebConfigTemplate);
|
||||||
|
var httpPlatformElement = input.Descendants("httpPlatform").Single();
|
||||||
|
|
||||||
|
httpPlatformElement.SetAttributeValue("stdoutLogFile", "mylog.txt");
|
||||||
|
httpPlatformElement.Attributes("stdoutLogEnabled").Remove();
|
||||||
|
if (stdoutLogEnabledValue != null)
|
||||||
|
{
|
||||||
|
input.Descendants("httpPlatform").Single().SetAttributeValue("stdoutLogEnabled", stdoutLogEnabledValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
Assert.Equal(
|
||||||
|
"mylog.txt",
|
||||||
|
(string)WebConfigTransform.Transform(input, "test.exe").Descendants().Attributes("stdoutLogFile").Single());
|
||||||
|
}
|
||||||
|
|
||||||
private bool VerifyMissingElementCreated(params string[] elementNames)
|
private bool VerifyMissingElementCreated(params string[] elementNames)
|
||||||
{
|
{
|
||||||
var input = new XDocument(WebConfigTemplate);
|
var input = new XDocument(WebConfigTemplate);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue