Where do the UpdateInstallationWizard.aspx logs get saved in Azure PaaS?Where is the location of local...
Is having a hidden directory under /etc safe?
What does it mean by "d-ism of Leibniz" and "dotage of Newton" in simple English?
Did Darth Vader wear the same suit for 20+ years?
How can I add depth to my story or how do I determine if my story already has depth?
Concise way to draw this pyramid
How can Iron Man's suit withstand this?
How can I offer a test ride while selling a bike?
Is it a problem that pull requests are approved without any comments
What does War Machine's "Canopy! Canopy!" line mean in "Avengers: Endgame"?
Why is Colorado so different politically from nearby states?
Strange math syntax in old basic listing
Applicants clearly not having the skills they advertise
Filling region bounded by multiple paths
Short story written from alien perspective with this line: "It's too bright to look at, so they don't"
Could a guilty Boris Johnson be used to cancel Brexit?
Word for a small burst of laughter that can't be held back
Please help me identify this plane
How to provide realism without making readers think grimdark
Is American Express widely accepted in France?
Accidentally cashed a check twice
How is it possible for this NPC to be alive during the Curse of Strahd adventure?
Opposite of "Squeaky wheel gets the grease"
Humans meet a distant alien species. How do they standardize? - Units of Measure
Is it possible for people to live in the eye of a permanent hypercane?
Where do the UpdateInstallationWizard.aspx logs get saved in Azure PaaS?
Where is the location of local sitecore media cache folder in Azure Web Apps?Where do upgrade packages go to when uploaded?Sitecore Azure PaaS Deployment - ResourceDeploymentFailure | DeploymentFailed | BadRequestSitecore Azure Paas - PostFailedForSomeDocumentsException: Partial success for insert or update. Some documents succeeded'Microsoft.Web.Deployment.DeploymentException: The path '' is not valid for the 'dbFullSql' providerPackaging a Sitecore 9 solution with the Sitecore Azure ToolkitSitecore-Core-Index rebuild at Azure Search for Sitecore 9.0.1 PaaS failsAzure PaaS Publishing PerformanceMaintenance.lock file persist intermittently during Azure PaaS DeploymentImage Editor actions throws “Parameter not valid.”SXA server error page not working in Azure PaaS
The title says it all.
Sitecore 9.0.1.
I've looked in the App_Data/logs
and temp
folders (the temp/__upgrade
folder is not present).
I know the installationLog.txt file is going somewhere... But WHERE?
azure paas update-packages
add a comment |
The title says it all.
Sitecore 9.0.1.
I've looked in the App_Data/logs
and temp
folders (the temp/__upgrade
folder is not present).
I know the installationLog.txt file is going somewhere... But WHERE?
azure paas update-packages
add a comment |
The title says it all.
Sitecore 9.0.1.
I've looked in the App_Data/logs
and temp
folders (the temp/__upgrade
folder is not present).
I know the installationLog.txt file is going somewhere... But WHERE?
azure paas update-packages
The title says it all.
Sitecore 9.0.1.
I've looked in the App_Data/logs
and temp
folders (the temp/__upgrade
folder is not present).
I know the installationLog.txt file is going somewhere... But WHERE?
azure paas update-packages
azure paas update-packages
asked 9 hours ago
Dan SinclairDan Sinclair
2,6782729
2,6782729
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
There are likely additional places and methods for retrieving this data, but the following is typically what I resort to:
Note: I have not tested SPECIFICALLY for UpdateInstallationWizard logs
- In Azure Portal, select the App Service resource that you used to run the installation.
- Scroll down the blade and find
App Service logs
in theMonitoring
section - Turn
Application Logging (Filesystem)
On
- Change
Level
to Verbose
- Save
- Select
Log stream
fromMonitoring
section - Select
Application logs
At this point, you will need to rerun the installation to capture new logs. Via Log stream
you can view the current output of logs. If you wish to view historical logs (if you've previously configured this)- then you'll need to use Kudu.
Kudu
- From the App Service blade you used previously, select
Advanced Tools
from theDevelopment Tools
section.
- Then press
Go ->
to open Kudu in a separate window - From the new window select
Debug console
>PowerShell
- Next, drill down into
Log Files/Application
to view historically captured log files
By selecting Verbose
previously, the log files will contain all messages. At this point, it's a matter of searching the log file for messages related to your installation.
temp__upgrade Location
From Kudu, you can also drill down into that particular folder:
sitewwwroottemp
Though I cannot confirm that the expected files will appear there as the instance I'm referencing does not have them (though it has many other expected temp files).
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
add a comment |
The files are stored in the temp folder, which is defined by a variable in the configs:
<sc.variable name="tempFolder" value="d:localtemp"/>
Unfortunately, browsing this folder with Kudu does not show the files in question because Kudu provisions a sandbox environment which does not contain the files.
Using Vlad's answer on a similar topic as a starting point, I was able to write up a simple temp folder browser which generates links to the files through the Sitecore.TempRequestHandler
(Sitecore.Resources.TempRequestHandler, Sitecore.Kernel
).
Throw this in an .aspx page in your /sitecore/admin
folder to use it.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sitecore Temp Folder Browser</title>
<link rel="Stylesheet" type="text/css" href="/sitecore/shell/themes/standard/default/WebFramework.css" />
<link rel="Stylesheet" type="text/css" href="./default.css" />
</head>
<body>
<script runat="server">
private const string TEMP_FOLDER_PATH = @"d:localtemp";
private const int MAX_FILE_COUNT = 10;
private void Scan(string path) {
string maxFileCountString = GetQueryString("maxFileCount");
int maxFileCount = MAX_FILE_COUNT;
if (!string.IsNullOrEmpty(maxFileCountString) && !int.TryParse(maxFileCountString, out maxFileCount))
{
Response.Write("<li><span style='color:red'>Invalid value for the <i>maxFileCount</i> parameter. It must be an integer.</span></li>");
}
else
{
if (!System.IO.Directory.Exists(path))
{
Response.Write("<li><span style='color:red'>Invalid path. The path does not exist: " + path + "</span></li>");
}
else
{
string ignoredFolderNamesString = GetQueryString("ignoreFolderNames");
string[] ignoredFolderNames;
if (!string.IsNullOrEmpty(ignoredFolderNamesString))
{
ignoredFolderNames = ignoredFolderNamesString.Split(',');
}
else
{
ignoredFolderNames = new string[0];
}
if (path.EndsWith("\") || path.EndsWith("/"))
{
path = path.Substring(0, path.Length - 1);
}
ScanRecursive(path, maxFileCount, ignoredFolderNames);
}
}
}
private void ScanRecursive(string path, int maxFileCount, string[] ignoredFolderNames)
{
Response.Write("<li>");
Response.Write("<a href='?maxFileCount=" + maxFileCount + "&ignoreFolderNames=" + string.Join(",", ignoredFolderNames) + "&subPath=" + path.Replace(TEMP_FOLDER_PATH, string.Empty) + "'>");
Response.Write(System.IO.Path.GetFileName(path));
Response.Write("</a>");
Response.Write("</li>");
if (!ignoredFolderNames.Any(s => s.Equals(System.IO.Path.GetFileName(path), StringComparison.OrdinalIgnoreCase))) {
Response.Write("<ul>");
foreach (var directory in System.IO.Directory.GetDirectories(path)) {
ScanRecursive(directory, maxFileCount, ignoredFolderNames);
}
int count = 0;
foreach (var file in System.IO.Directory.GetFiles(path)) {
if (++count > maxFileCount) {
Response.Write("<li>...</li>");
break;
}
Response.Write("<li><i>");
Response.Write("<a href='" + file.Replace(TEMP_FOLDER_PATH, "/-/temp/") + ".aspx' target='_blank'>");
Response.Write(System.IO.Path.GetFileName(file));
Response.Write("</a>");
Response.Write("</i></li>");
}
Response.Write("</ul>");
}
else
{
Response.Write("<ul><li><i>(ignored due to query string)</i></li></ul>");
}
}
private string GetQueryString(string key) {
return Request.QueryString[key];
}
</script>
<form id="Form1" runat="server" class="wf-container">
<div class="wf-content">
<h1>Sitecore Temp Folder Browser</h1>
<% string fullPath = TEMP_FOLDER_PATH + GetQueryString("subPath"); %>
<h4><%= fullPath %></h4>
<ul>
<%
Scan(fullPath);
%>
</ul>
</div>
</form>
</body>
</html>
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "664"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f19061%2fwhere-do-the-updateinstallationwizard-aspx-logs-get-saved-in-azure-paas%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
There are likely additional places and methods for retrieving this data, but the following is typically what I resort to:
Note: I have not tested SPECIFICALLY for UpdateInstallationWizard logs
- In Azure Portal, select the App Service resource that you used to run the installation.
- Scroll down the blade and find
App Service logs
in theMonitoring
section - Turn
Application Logging (Filesystem)
On
- Change
Level
to Verbose
- Save
- Select
Log stream
fromMonitoring
section - Select
Application logs
At this point, you will need to rerun the installation to capture new logs. Via Log stream
you can view the current output of logs. If you wish to view historical logs (if you've previously configured this)- then you'll need to use Kudu.
Kudu
- From the App Service blade you used previously, select
Advanced Tools
from theDevelopment Tools
section.
- Then press
Go ->
to open Kudu in a separate window - From the new window select
Debug console
>PowerShell
- Next, drill down into
Log Files/Application
to view historically captured log files
By selecting Verbose
previously, the log files will contain all messages. At this point, it's a matter of searching the log file for messages related to your installation.
temp__upgrade Location
From Kudu, you can also drill down into that particular folder:
sitewwwroottemp
Though I cannot confirm that the expected files will appear there as the instance I'm referencing does not have them (though it has many other expected temp files).
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
add a comment |
There are likely additional places and methods for retrieving this data, but the following is typically what I resort to:
Note: I have not tested SPECIFICALLY for UpdateInstallationWizard logs
- In Azure Portal, select the App Service resource that you used to run the installation.
- Scroll down the blade and find
App Service logs
in theMonitoring
section - Turn
Application Logging (Filesystem)
On
- Change
Level
to Verbose
- Save
- Select
Log stream
fromMonitoring
section - Select
Application logs
At this point, you will need to rerun the installation to capture new logs. Via Log stream
you can view the current output of logs. If you wish to view historical logs (if you've previously configured this)- then you'll need to use Kudu.
Kudu
- From the App Service blade you used previously, select
Advanced Tools
from theDevelopment Tools
section.
- Then press
Go ->
to open Kudu in a separate window - From the new window select
Debug console
>PowerShell
- Next, drill down into
Log Files/Application
to view historically captured log files
By selecting Verbose
previously, the log files will contain all messages. At this point, it's a matter of searching the log file for messages related to your installation.
temp__upgrade Location
From Kudu, you can also drill down into that particular folder:
sitewwwroottemp
Though I cannot confirm that the expected files will appear there as the instance I'm referencing does not have them (though it has many other expected temp files).
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
add a comment |
There are likely additional places and methods for retrieving this data, but the following is typically what I resort to:
Note: I have not tested SPECIFICALLY for UpdateInstallationWizard logs
- In Azure Portal, select the App Service resource that you used to run the installation.
- Scroll down the blade and find
App Service logs
in theMonitoring
section - Turn
Application Logging (Filesystem)
On
- Change
Level
to Verbose
- Save
- Select
Log stream
fromMonitoring
section - Select
Application logs
At this point, you will need to rerun the installation to capture new logs. Via Log stream
you can view the current output of logs. If you wish to view historical logs (if you've previously configured this)- then you'll need to use Kudu.
Kudu
- From the App Service blade you used previously, select
Advanced Tools
from theDevelopment Tools
section.
- Then press
Go ->
to open Kudu in a separate window - From the new window select
Debug console
>PowerShell
- Next, drill down into
Log Files/Application
to view historically captured log files
By selecting Verbose
previously, the log files will contain all messages. At this point, it's a matter of searching the log file for messages related to your installation.
temp__upgrade Location
From Kudu, you can also drill down into that particular folder:
sitewwwroottemp
Though I cannot confirm that the expected files will appear there as the instance I'm referencing does not have them (though it has many other expected temp files).
There are likely additional places and methods for retrieving this data, but the following is typically what I resort to:
Note: I have not tested SPECIFICALLY for UpdateInstallationWizard logs
- In Azure Portal, select the App Service resource that you used to run the installation.
- Scroll down the blade and find
App Service logs
in theMonitoring
section - Turn
Application Logging (Filesystem)
On
- Change
Level
to Verbose
- Save
- Select
Log stream
fromMonitoring
section - Select
Application logs
At this point, you will need to rerun the installation to capture new logs. Via Log stream
you can view the current output of logs. If you wish to view historical logs (if you've previously configured this)- then you'll need to use Kudu.
Kudu
- From the App Service blade you used previously, select
Advanced Tools
from theDevelopment Tools
section.
- Then press
Go ->
to open Kudu in a separate window - From the new window select
Debug console
>PowerShell
- Next, drill down into
Log Files/Application
to view historically captured log files
By selecting Verbose
previously, the log files will contain all messages. At this point, it's a matter of searching the log file for messages related to your installation.
temp__upgrade Location
From Kudu, you can also drill down into that particular folder:
sitewwwroottemp
Though I cannot confirm that the expected files will appear there as the instance I'm referencing does not have them (though it has many other expected temp files).
answered 8 hours ago
jrapjrap
2,8721631
2,8721631
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
add a comment |
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
The first approach works well for watching logs, but unfortunately the update installation wizard logs don't show up there. Also unfortunately, Kudu's consoles do not show all the files because they open in a sandboxed version. sad trombone
– Dan Sinclair
5 hours ago
add a comment |
The files are stored in the temp folder, which is defined by a variable in the configs:
<sc.variable name="tempFolder" value="d:localtemp"/>
Unfortunately, browsing this folder with Kudu does not show the files in question because Kudu provisions a sandbox environment which does not contain the files.
Using Vlad's answer on a similar topic as a starting point, I was able to write up a simple temp folder browser which generates links to the files through the Sitecore.TempRequestHandler
(Sitecore.Resources.TempRequestHandler, Sitecore.Kernel
).
Throw this in an .aspx page in your /sitecore/admin
folder to use it.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sitecore Temp Folder Browser</title>
<link rel="Stylesheet" type="text/css" href="/sitecore/shell/themes/standard/default/WebFramework.css" />
<link rel="Stylesheet" type="text/css" href="./default.css" />
</head>
<body>
<script runat="server">
private const string TEMP_FOLDER_PATH = @"d:localtemp";
private const int MAX_FILE_COUNT = 10;
private void Scan(string path) {
string maxFileCountString = GetQueryString("maxFileCount");
int maxFileCount = MAX_FILE_COUNT;
if (!string.IsNullOrEmpty(maxFileCountString) && !int.TryParse(maxFileCountString, out maxFileCount))
{
Response.Write("<li><span style='color:red'>Invalid value for the <i>maxFileCount</i> parameter. It must be an integer.</span></li>");
}
else
{
if (!System.IO.Directory.Exists(path))
{
Response.Write("<li><span style='color:red'>Invalid path. The path does not exist: " + path + "</span></li>");
}
else
{
string ignoredFolderNamesString = GetQueryString("ignoreFolderNames");
string[] ignoredFolderNames;
if (!string.IsNullOrEmpty(ignoredFolderNamesString))
{
ignoredFolderNames = ignoredFolderNamesString.Split(',');
}
else
{
ignoredFolderNames = new string[0];
}
if (path.EndsWith("\") || path.EndsWith("/"))
{
path = path.Substring(0, path.Length - 1);
}
ScanRecursive(path, maxFileCount, ignoredFolderNames);
}
}
}
private void ScanRecursive(string path, int maxFileCount, string[] ignoredFolderNames)
{
Response.Write("<li>");
Response.Write("<a href='?maxFileCount=" + maxFileCount + "&ignoreFolderNames=" + string.Join(",", ignoredFolderNames) + "&subPath=" + path.Replace(TEMP_FOLDER_PATH, string.Empty) + "'>");
Response.Write(System.IO.Path.GetFileName(path));
Response.Write("</a>");
Response.Write("</li>");
if (!ignoredFolderNames.Any(s => s.Equals(System.IO.Path.GetFileName(path), StringComparison.OrdinalIgnoreCase))) {
Response.Write("<ul>");
foreach (var directory in System.IO.Directory.GetDirectories(path)) {
ScanRecursive(directory, maxFileCount, ignoredFolderNames);
}
int count = 0;
foreach (var file in System.IO.Directory.GetFiles(path)) {
if (++count > maxFileCount) {
Response.Write("<li>...</li>");
break;
}
Response.Write("<li><i>");
Response.Write("<a href='" + file.Replace(TEMP_FOLDER_PATH, "/-/temp/") + ".aspx' target='_blank'>");
Response.Write(System.IO.Path.GetFileName(file));
Response.Write("</a>");
Response.Write("</i></li>");
}
Response.Write("</ul>");
}
else
{
Response.Write("<ul><li><i>(ignored due to query string)</i></li></ul>");
}
}
private string GetQueryString(string key) {
return Request.QueryString[key];
}
</script>
<form id="Form1" runat="server" class="wf-container">
<div class="wf-content">
<h1>Sitecore Temp Folder Browser</h1>
<% string fullPath = TEMP_FOLDER_PATH + GetQueryString("subPath"); %>
<h4><%= fullPath %></h4>
<ul>
<%
Scan(fullPath);
%>
</ul>
</div>
</form>
</body>
</html>
add a comment |
The files are stored in the temp folder, which is defined by a variable in the configs:
<sc.variable name="tempFolder" value="d:localtemp"/>
Unfortunately, browsing this folder with Kudu does not show the files in question because Kudu provisions a sandbox environment which does not contain the files.
Using Vlad's answer on a similar topic as a starting point, I was able to write up a simple temp folder browser which generates links to the files through the Sitecore.TempRequestHandler
(Sitecore.Resources.TempRequestHandler, Sitecore.Kernel
).
Throw this in an .aspx page in your /sitecore/admin
folder to use it.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sitecore Temp Folder Browser</title>
<link rel="Stylesheet" type="text/css" href="/sitecore/shell/themes/standard/default/WebFramework.css" />
<link rel="Stylesheet" type="text/css" href="./default.css" />
</head>
<body>
<script runat="server">
private const string TEMP_FOLDER_PATH = @"d:localtemp";
private const int MAX_FILE_COUNT = 10;
private void Scan(string path) {
string maxFileCountString = GetQueryString("maxFileCount");
int maxFileCount = MAX_FILE_COUNT;
if (!string.IsNullOrEmpty(maxFileCountString) && !int.TryParse(maxFileCountString, out maxFileCount))
{
Response.Write("<li><span style='color:red'>Invalid value for the <i>maxFileCount</i> parameter. It must be an integer.</span></li>");
}
else
{
if (!System.IO.Directory.Exists(path))
{
Response.Write("<li><span style='color:red'>Invalid path. The path does not exist: " + path + "</span></li>");
}
else
{
string ignoredFolderNamesString = GetQueryString("ignoreFolderNames");
string[] ignoredFolderNames;
if (!string.IsNullOrEmpty(ignoredFolderNamesString))
{
ignoredFolderNames = ignoredFolderNamesString.Split(',');
}
else
{
ignoredFolderNames = new string[0];
}
if (path.EndsWith("\") || path.EndsWith("/"))
{
path = path.Substring(0, path.Length - 1);
}
ScanRecursive(path, maxFileCount, ignoredFolderNames);
}
}
}
private void ScanRecursive(string path, int maxFileCount, string[] ignoredFolderNames)
{
Response.Write("<li>");
Response.Write("<a href='?maxFileCount=" + maxFileCount + "&ignoreFolderNames=" + string.Join(",", ignoredFolderNames) + "&subPath=" + path.Replace(TEMP_FOLDER_PATH, string.Empty) + "'>");
Response.Write(System.IO.Path.GetFileName(path));
Response.Write("</a>");
Response.Write("</li>");
if (!ignoredFolderNames.Any(s => s.Equals(System.IO.Path.GetFileName(path), StringComparison.OrdinalIgnoreCase))) {
Response.Write("<ul>");
foreach (var directory in System.IO.Directory.GetDirectories(path)) {
ScanRecursive(directory, maxFileCount, ignoredFolderNames);
}
int count = 0;
foreach (var file in System.IO.Directory.GetFiles(path)) {
if (++count > maxFileCount) {
Response.Write("<li>...</li>");
break;
}
Response.Write("<li><i>");
Response.Write("<a href='" + file.Replace(TEMP_FOLDER_PATH, "/-/temp/") + ".aspx' target='_blank'>");
Response.Write(System.IO.Path.GetFileName(file));
Response.Write("</a>");
Response.Write("</i></li>");
}
Response.Write("</ul>");
}
else
{
Response.Write("<ul><li><i>(ignored due to query string)</i></li></ul>");
}
}
private string GetQueryString(string key) {
return Request.QueryString[key];
}
</script>
<form id="Form1" runat="server" class="wf-container">
<div class="wf-content">
<h1>Sitecore Temp Folder Browser</h1>
<% string fullPath = TEMP_FOLDER_PATH + GetQueryString("subPath"); %>
<h4><%= fullPath %></h4>
<ul>
<%
Scan(fullPath);
%>
</ul>
</div>
</form>
</body>
</html>
add a comment |
The files are stored in the temp folder, which is defined by a variable in the configs:
<sc.variable name="tempFolder" value="d:localtemp"/>
Unfortunately, browsing this folder with Kudu does not show the files in question because Kudu provisions a sandbox environment which does not contain the files.
Using Vlad's answer on a similar topic as a starting point, I was able to write up a simple temp folder browser which generates links to the files through the Sitecore.TempRequestHandler
(Sitecore.Resources.TempRequestHandler, Sitecore.Kernel
).
Throw this in an .aspx page in your /sitecore/admin
folder to use it.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sitecore Temp Folder Browser</title>
<link rel="Stylesheet" type="text/css" href="/sitecore/shell/themes/standard/default/WebFramework.css" />
<link rel="Stylesheet" type="text/css" href="./default.css" />
</head>
<body>
<script runat="server">
private const string TEMP_FOLDER_PATH = @"d:localtemp";
private const int MAX_FILE_COUNT = 10;
private void Scan(string path) {
string maxFileCountString = GetQueryString("maxFileCount");
int maxFileCount = MAX_FILE_COUNT;
if (!string.IsNullOrEmpty(maxFileCountString) && !int.TryParse(maxFileCountString, out maxFileCount))
{
Response.Write("<li><span style='color:red'>Invalid value for the <i>maxFileCount</i> parameter. It must be an integer.</span></li>");
}
else
{
if (!System.IO.Directory.Exists(path))
{
Response.Write("<li><span style='color:red'>Invalid path. The path does not exist: " + path + "</span></li>");
}
else
{
string ignoredFolderNamesString = GetQueryString("ignoreFolderNames");
string[] ignoredFolderNames;
if (!string.IsNullOrEmpty(ignoredFolderNamesString))
{
ignoredFolderNames = ignoredFolderNamesString.Split(',');
}
else
{
ignoredFolderNames = new string[0];
}
if (path.EndsWith("\") || path.EndsWith("/"))
{
path = path.Substring(0, path.Length - 1);
}
ScanRecursive(path, maxFileCount, ignoredFolderNames);
}
}
}
private void ScanRecursive(string path, int maxFileCount, string[] ignoredFolderNames)
{
Response.Write("<li>");
Response.Write("<a href='?maxFileCount=" + maxFileCount + "&ignoreFolderNames=" + string.Join(",", ignoredFolderNames) + "&subPath=" + path.Replace(TEMP_FOLDER_PATH, string.Empty) + "'>");
Response.Write(System.IO.Path.GetFileName(path));
Response.Write("</a>");
Response.Write("</li>");
if (!ignoredFolderNames.Any(s => s.Equals(System.IO.Path.GetFileName(path), StringComparison.OrdinalIgnoreCase))) {
Response.Write("<ul>");
foreach (var directory in System.IO.Directory.GetDirectories(path)) {
ScanRecursive(directory, maxFileCount, ignoredFolderNames);
}
int count = 0;
foreach (var file in System.IO.Directory.GetFiles(path)) {
if (++count > maxFileCount) {
Response.Write("<li>...</li>");
break;
}
Response.Write("<li><i>");
Response.Write("<a href='" + file.Replace(TEMP_FOLDER_PATH, "/-/temp/") + ".aspx' target='_blank'>");
Response.Write(System.IO.Path.GetFileName(file));
Response.Write("</a>");
Response.Write("</i></li>");
}
Response.Write("</ul>");
}
else
{
Response.Write("<ul><li><i>(ignored due to query string)</i></li></ul>");
}
}
private string GetQueryString(string key) {
return Request.QueryString[key];
}
</script>
<form id="Form1" runat="server" class="wf-container">
<div class="wf-content">
<h1>Sitecore Temp Folder Browser</h1>
<% string fullPath = TEMP_FOLDER_PATH + GetQueryString("subPath"); %>
<h4><%= fullPath %></h4>
<ul>
<%
Scan(fullPath);
%>
</ul>
</div>
</form>
</body>
</html>
The files are stored in the temp folder, which is defined by a variable in the configs:
<sc.variable name="tempFolder" value="d:localtemp"/>
Unfortunately, browsing this folder with Kudu does not show the files in question because Kudu provisions a sandbox environment which does not contain the files.
Using Vlad's answer on a similar topic as a starting point, I was able to write up a simple temp folder browser which generates links to the files through the Sitecore.TempRequestHandler
(Sitecore.Resources.TempRequestHandler, Sitecore.Kernel
).
Throw this in an .aspx page in your /sitecore/admin
folder to use it.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sitecore Temp Folder Browser</title>
<link rel="Stylesheet" type="text/css" href="/sitecore/shell/themes/standard/default/WebFramework.css" />
<link rel="Stylesheet" type="text/css" href="./default.css" />
</head>
<body>
<script runat="server">
private const string TEMP_FOLDER_PATH = @"d:localtemp";
private const int MAX_FILE_COUNT = 10;
private void Scan(string path) {
string maxFileCountString = GetQueryString("maxFileCount");
int maxFileCount = MAX_FILE_COUNT;
if (!string.IsNullOrEmpty(maxFileCountString) && !int.TryParse(maxFileCountString, out maxFileCount))
{
Response.Write("<li><span style='color:red'>Invalid value for the <i>maxFileCount</i> parameter. It must be an integer.</span></li>");
}
else
{
if (!System.IO.Directory.Exists(path))
{
Response.Write("<li><span style='color:red'>Invalid path. The path does not exist: " + path + "</span></li>");
}
else
{
string ignoredFolderNamesString = GetQueryString("ignoreFolderNames");
string[] ignoredFolderNames;
if (!string.IsNullOrEmpty(ignoredFolderNamesString))
{
ignoredFolderNames = ignoredFolderNamesString.Split(',');
}
else
{
ignoredFolderNames = new string[0];
}
if (path.EndsWith("\") || path.EndsWith("/"))
{
path = path.Substring(0, path.Length - 1);
}
ScanRecursive(path, maxFileCount, ignoredFolderNames);
}
}
}
private void ScanRecursive(string path, int maxFileCount, string[] ignoredFolderNames)
{
Response.Write("<li>");
Response.Write("<a href='?maxFileCount=" + maxFileCount + "&ignoreFolderNames=" + string.Join(",", ignoredFolderNames) + "&subPath=" + path.Replace(TEMP_FOLDER_PATH, string.Empty) + "'>");
Response.Write(System.IO.Path.GetFileName(path));
Response.Write("</a>");
Response.Write("</li>");
if (!ignoredFolderNames.Any(s => s.Equals(System.IO.Path.GetFileName(path), StringComparison.OrdinalIgnoreCase))) {
Response.Write("<ul>");
foreach (var directory in System.IO.Directory.GetDirectories(path)) {
ScanRecursive(directory, maxFileCount, ignoredFolderNames);
}
int count = 0;
foreach (var file in System.IO.Directory.GetFiles(path)) {
if (++count > maxFileCount) {
Response.Write("<li>...</li>");
break;
}
Response.Write("<li><i>");
Response.Write("<a href='" + file.Replace(TEMP_FOLDER_PATH, "/-/temp/") + ".aspx' target='_blank'>");
Response.Write(System.IO.Path.GetFileName(file));
Response.Write("</a>");
Response.Write("</i></li>");
}
Response.Write("</ul>");
}
else
{
Response.Write("<ul><li><i>(ignored due to query string)</i></li></ul>");
}
}
private string GetQueryString(string key) {
return Request.QueryString[key];
}
</script>
<form id="Form1" runat="server" class="wf-container">
<div class="wf-content">
<h1>Sitecore Temp Folder Browser</h1>
<% string fullPath = TEMP_FOLDER_PATH + GetQueryString("subPath"); %>
<h4><%= fullPath %></h4>
<ul>
<%
Scan(fullPath);
%>
</ul>
</div>
</form>
</body>
</html>
edited 1 hour ago
answered 5 hours ago
Dan SinclairDan Sinclair
2,6782729
2,6782729
add a comment |
add a comment |
Thanks for contributing an answer to Sitecore Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f19061%2fwhere-do-the-updateinstallationwizard-aspx-logs-get-saved-in-azure-paas%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown