开发Adobe photoshop的脚本扩展时方便记录日志
用法Api
1.log=logger()
2.log.d(), log.i(), log.e(),比如
log.i("this is log")
log.i("this is log name={0} age={1}", "jack", 18)
3.执行的最后调下log.close()关闭文件
源码
function logger(){
// 0 Debug, 1 Info, 2 Error
var LOGLEVER = 0
var logFile = new File("~/Desktop/photoshop.log");
logFile.encoding = "utf-8";
logFile.open('a');
var format=function(fmt, param){
return fmt.replace(/\{(\d+)\}/g, function(m, i){return param[i];});
}
var p = function(level, args){
if (args.length > 0){
var fmt = args[0]
if (args.length > 1){
var pa = [];
for(var i=1;i<args.length;i++)
{
pa.push(args[i]);
}
fmt = format(fmt, pa);
}
txt = format("[{0}] {1}", [level, fmt]);
logFile.writeln(txt);
}else{
logFile.writeln(format("[{0}] {1}", [level, ""]));
}
}
var d = function(){
if (LOGLEVER <= 0){
p("DEBUG", arguments);
}
}
var i = function(){
if (LOGLEVER <= 1){
p("INFO", arguments);
}
}
var e = function(){
if (LOGLEVER <= 2){
p("ERROR", arguments);
}
}
var close=function(){
log.i("==== log end ====");
logFile.close();
}
i("==== log start ====");
return {"i":i, "d":d, "e":e, "close":close}
}