无法启用Azure Node.js日志记录
我无法使正在部署到Windows Azure的节点应用程序的日志记录正常工作。我正在用iisnode.yml文件选项覆盖web.config 以下是yml文件的内容:无法启用Azure Node.js日志记录,node.js,azure,iisnode,Node.js,Azure,Iisnode,我无法使正在部署到Windows Azure的节点应用程序的日志记录正常工作。我正在用iisnode.yml文件选项覆盖web.config 以下是yml文件的内容: node_env: development nodeProcessCountPerApplication: 1 maxConcurrentRequestsPerProcess: 1024 maxNamedPipeConnectionRetry: 24 namedPipeConnectionRetryDelay: 250 maxNa
node_env: development
nodeProcessCountPerApplication: 1
maxConcurrentRequestsPerProcess: 1024
maxNamedPipeConnectionRetry: 24
namedPipeConnectionRetryDelay: 250
maxNamedPipeConnectionPoolSize: 512
maxNamedPipePooledConnectionAge: 30000
asyncCompletionThreadCount: 0
initialRequestBufferSize: 4096
maxRequestBufferSize: 65536
watchedFiles: *.js;iisnode.yml
uncFileChangesPollingInterval: 5000
gracefulShutdownTimeout: 60000
loggingEnabled: true
logDirectory: iisnode
debuggingEnabled: true
debuggerPortRange: 5058-6058
debuggerPathSegment: debug
maxLogFileSizeInKB: 128
maxTotalLogFileSizeInKB: 1024
maxLogFiles: 20
devErrorsEnabled: true
flushResponse: false
enableXFF: false
以下是被覆盖的web.config文件的内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="false" />
<iisnode configOverrides="iisnode.yml" debuggingEnabled="true" loggingEnabled="true" logDirectory="iisnode" devErrorsEnabled="true" nodeProcessCommandLine=""%programfiles(x86)%\nodejs\node.exe"" />
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<clear />
<rule name="app" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="server\.js.+" negate="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="server.js" />
</rule>
<rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
<match url="iisnode"/>
</rule>
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^server.js\/debug[\/]?" />
</rule>
<rule name="StaticContent">
<action type="Rewrite" url="public{{REQUEST_URI}}"/>
</rule>
<rule name="DynamicContent">
<conditions>
<add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True"/>
</conditions>
<action type="Rewrite" url="server.js"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
或者我收到一个404错误
任何帮助或想法都将不胜感激。如果您正在使用express,请将其添加到您的静态文件夹位置下
app.use(express.static(__dirname + '/../iisnode'));
或者定义自己的日志路由,如下所示。。在这里你可以得到幻想,只显示错误等
//logging routes
var fs = require('fs');
app.get('/iisnode', function(req, res){
var _index = fs.readFileSync('./iisnode/index.html', 'utf8');
var index = _index.replace("logCell.innerHTML = '<a href=\"' + logFile.file + '\">log</a>';", "logCell.innerHTML = '<a href=\"/iisnode/' + logFile.file + '\">log</a>';");
res.send(index);
});
app.get('/iisnode/:log', function(req, res){
var _log = fs.readFileSync('./iisnode/' + req.route.params['log'], 'utf8');
res.contentType('text/plain');
res.send(_log);
});
//记录路由
var fs=需要('fs');
app.get('/iisnode',函数(req,res){
var_index=fs.readFileSync('./iisnode/index.html','utf8');
变量索引=_index.replace(“logCell.innerHTML=“”;”,“logCell.innerHTML=“”;”;
res.send(索引);
});
app.get('/iisnode/:log',函数(req,res){
var _log=fs.readFileSync('./iisnode/'+req.route.params['log'],'utf8');
res.contentType('text/plain');
res.send(_log);
});
您可以用正在使用的任何路由解决方案替换app.get
请记住,在生产环境中启动应用程序之前先删除。我遇到了同样的问题:(