開發(fā)Adobe photoshop的腳本擴(kuò)展時(shí)方便記錄日志
用法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.執(zhí)行的最后調(diào)下log.close()關(guān)閉文件
源碼
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}
}