我在Node.js应用程序中使用winston错误处理
var logConfig={
level:'info',
timestamp:true,
colorize:true,
handleExceptions=true
};
logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)(logConfig)
]
});
}
logger.exitOnError=false;
Run Code Online (Sandbox Code Playgroud)
除了日志记录,我想使用winston的错误处理功能.这是一个快速的应用程序
我可以看到winston正确处理错误,打印堆栈跟踪并防止服务器崩溃,但响应永远不会回到浏览器.有没有办法指定这种行为?
谢谢
我在node.js上使用http-proxy.我有一个代理请求到另一台服务器.我的要求是代理请求应该在10秒内超时.此外,当超时发生时,我应该能够向用户显示自定义消息
我有以下代码
var proxy = new httpProxy.RoutingProxy();
req.on('error', function (err,req,res){
res.send("An error occured");
});
proxy.proxyRequest(req, res, {
host: 'localhost',
port: port,
headers:req.headers,
timeout:10000
})
Run Code Online (Sandbox Code Playgroud)
这设置超时(由于原因未知,它在17秒内超时)但回调从未执行.它只显示标准浏览器消息
The connection was reset
The connection to the server was reset while the page was loading.
Run Code Online (Sandbox Code Playgroud)
提前致谢
更新:
我试过了
proxy.on('proxyError', function (err,preq,pres) {
pres.writeHead(500, { 'Content-Type': 'text/plain' });
pres.write("An error happened at server. Please contact your administrator.");
pres.end();
});
Run Code Online (Sandbox Code Playgroud)
这次调用该方法,但它抱怨已经发送了响应,因此无法设置标头
我有一个奇怪的问题。我在 RHEL 上运行了 MySql。我可以登录到 MySql
mysql -uroot -pmyPassword
Run Code Online (Sandbox Code Playgroud)
它工作正常。此外,当我尝试从 .sh 脚本执行查询时,如下所示,它工作正常
mysql --user=root --password=myPassword --host=localhost --port=3306 -se "SELECT 1 as testConnect" 2>&1>> $OUTPUT
但是当我将用户名和密码存储在 msql.conf 文件中时,如下所示
[clientroot]
user=root
password=myPassword
Run Code Online (Sandbox Code Playgroud)
然后更改脚本中的行,如下所示
mysql --defaults-file=msql.conf --defaults-group-suffix=root -hlocalhost -P3306 -se "SELECT 1 as testConnect" 2>&1>> $OUTPUT
当我运行它时,我收到错误:
错误 1045 (28000): 用户 'root'@'localhost' 访问被拒绝(使用密码:YES)
我正在运行脚本,sudo并且配置文件与脚本位于同一目录中
我0600对配置文件有权限。
我如何使这项工作?
可能重复:
在C#变量名前放置@是什么意思?
我正在尝试学习C#lambda表达式.当我搜索示例时,我看到下面的代码
Where(@t => string.Compare(@t.Code, argument.Code, StringComparison.CurrentCultureIgnoreCase) == 0)
Run Code Online (Sandbox Code Playgroud)
我想知道t之前的'@'符号是什么意思?
我正试图在使用AngularJS时绕过IE从缓存中获取图像
我有以下代码
<img ng-src="./individuals/image/{{team._id}}/{{member._id}}{{getRandom()}}" >
Run Code Online (Sandbox Code Playgroud)
在控制器中
$scope.getRandom=function(){
return "?ran="+new Date().getTime()+"";
}
Run Code Online (Sandbox Code Playgroud)
当我跑,我得到这个错误
Error: 10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: [["fn: function (a){\n\"use strict\";\ntry{for(var b=0,c=q,g;b<c;b++){if(typeof(g=l[b])==\"function\")g=g(a),g==null||g==s?g=\"\":typeof g!=\"string\"&&(g=da(g));B[b]=g}return B.join(\"\")}catch(f){d(Error(\"Error while interpolating: \"+e+\"\\n\"+f.toString()))}}; newVal: \"./individuals/image/51c209ead8b8d863ad69de97/51c209ead8b8d863ad69de65?ran=1371757784485\"; oldVal: \"./individuals/image/51c209ead8b8d863ad69de97/51c209ead8b8d863ad69de65?ran=1371757784457\"","fn: function (a){\n\"use strict\";\ntry{for(var b=0,c=q,g;b<c;b++){if(typeof(g=l[b])==\"function\")g=g(a),g==null||g==s?g=\"\":typeof g!=\"string\"&&(g=da(g));B[b]=g}return B.join(\"\")}catch(f){d(Error(\"Error while interpolating: \"+e+\"\\n\"+f.toString()))}}; newVal: \"./individuals/image/51c209ead8b8d863ad69de97/51c209ead8b8d863ad69dec9?ran=1371757784487\"; oldVal: \"./individuals/image/51c209ead8b8d863ad69de97/51c209ead8b8d863ad69dec9?ran=1371757784459\"","fn: function (a){\n\"use strict\";\ntry{for(var b=0,c=q,g;b<c;b++){if(typeof(g=l[b])==\"function\")g=g(a),g==null||g==s?g=\"\":typeof g!=\"string\"&&(g=da(g));B[b]=g}return B.join(\"\")}catch(f){d(Error(\"Error while interpolating: \"+e+\"\\n\"+f.toString()))}}; newVal: \"./individuals/image/51c209ead8b8d863ad6
Run Code Online (Sandbox Code Playgroud)
如果我删除{{getRandom()}}它工作正常.
请帮助..提前致谢
更新:请在下面找到修复问题的控制器更改.感谢Liviu T.的回答.
$scope.lastMillis = new Date().getTime();
$scope.getRandom=function(){
var curMillis = new Date().getTime();
if …Run Code Online (Sandbox Code Playgroud) 我想创建一个java.util.Map的实现,它只接受String作为键和值.
我尝试了几件事
abstract class BaseMap<String,String> implements Map<K,V>
Run Code Online (Sandbox Code Playgroud)
这给出了编译错误,因为我正在实现接口而不满足Key和Value的完整定义
然后我尝试扩展界面来定义类型,它确实让我也这样做
public interface IBaseMap<String, String> extends Map<K, V>
Run Code Online (Sandbox Code Playgroud)
它仍然给出错误"类型参数String隐藏java.lang.String"
请提前帮助,谢谢