[node.js] traceback

셈플

var traceback = require("traceback");

function start() { first() }
function first() { second() }
var second = function() { last() }

function last() {
  var stack = traceback();
  console.log("I am " + stack[0].name + " from file " + stack[0].file)

  for(var i = 1; i <= 3; i++)
    console.log("  " + i + " above me: " + stack[i].name 
                         + " at line " + stack[i].line+" path "+stack[i].path);
}
start();

실행 결과

[root@redjini source]# ../bin/node test.js
I am last from file test.js
  1 above me: second at line 5 path /data/NodeJS/source/test.js
  2 above me: first at line 4 path /data/NodeJS/source/test.js
  3 above me: start at line 3 path /data/NodeJS/source/test.js

참고 :

2013/10/22 11:53 2013/10/22 11:53
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

[node.js] log4js PatternLayout 사용하기

셈플코드

var log4js = require("log4js");
/**
 * PatternLayout
 * Format for specifiers is %[padding].[truncation][field]{[format]}
 * e.g. %5.10p - left pad the log level by 5 characters, up to a max of 10
 * Fields can be any of:
 *  - %r time in toLocaleTimeString format
 *  - %p log level
 *  - %c log category
 *  - %h hostname
 *  - %m log data
 *  - %d date in various formats
 *  - %% %
 *  - %n newline
 *  - %x{<tokenname>} add dynamic tokens to your log. Tokens are specified in the tokens parameter
 * You can use %[ and %] to define a colored block.
 *
 * Tokens are specified as simple key:value objects. 
 * The key represents the token name whereas the value can be a string or function
 * which is called to extract the value to put in the log message. If token is not
 * found, it doesn't replace the field.
 *
 * A sample token would be: { "pid" : function() { return process.pid; } }
 *
 * Takes a pattern string, array of tokens and returns a layout function.
 * @param {String} Log format pattern String
 * @param {object} map object of different tokens
 * @return {Function}
 * @author Stephan Strittmatter
 * @author Jan Schmidle
 */

log4js.configure({
    appenders:[
        {
            type  : "console", 
            layout: {
                type   : "pattern",
                pattern:"%d %x{pid} %0.1p %c - %m",
                tokens :{ "pid" : function() { return process.pid; } }
            }
        }
    ]
});    
log4js.replaceConsole();

console.log("test %s", "vv");

참고

2013/10/21 20:44 2013/10/21 20:44
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

[node.js] Strict mode

● Strict mode 사용법
    - js 파일 혹은 function 에 명시

js 파일 사용예)

 
//test.js
"use strict";
var v = "test variable";

function 사용예)

 
//test.js
function test(){
    "use strict";
    var result = "test variable";
    return result;
}
 v = test(); // test()내부에 Strict mode를 선언, 오류 발생하지 않음
console.log( v );
 

function 사용예)

//test.js
"use strict";
function test(){
    result = "test variable"; //js파일 상단에 Strict mode를 선언, 오류 발생
    return result;
}
var v = test();
console.log( v );

참고

2013/10/21 19:33 2013/10/21 19:33
태그 : ,
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다