node.js mac 10.9 console.log

时间:2016-03-08 15:07:44

标签: node.js macos

使用节点js移动文件等。使用mac。 使用plist使我的文件在后台移动。 使用console.log跟踪发生的情况。 不得不从运行10.6的mac移动到运行10.9的mac。 console.log不会出现在10.9控制台中。

例如这个脚本:

    console.log('This works and you are good at stuff.');

和这个plist一起:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.gillstudios.consoleLogTest</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/local/bin/node</string>
            <string>/Library/Scripts/Custom/ConsoleLogTest_001.js</string>
        </array>    
        <key>StartInterval</key>
        <integer>30</integer>
    </dict>
    </plist>

在10.6中,我每30秒收到一条消息。在10.9中,即使我使用文件移动脚本,文件移动但我在控制台中没有得到任何内容,我什么也得不到。

感谢您的任何见解。

1 个答案:

答案 0 :(得分:0)

我最终创建了自己的日志并在控制台中打开它。 (日期变量在脚本的早期部分创建)

function customLog(logMessage){
    var logfile = '/Library/Logs/AutomationLog/' + year + thisMonth + date + '_automation.txt'
    var logtime = hour + ':' + minutes + ':' + seconds;
    fs.stat(logfile, function(err,stats){
        // if (err) customLog(err); // Throws ENOENT if file doesn't exist.
        if (!err && stats.isFile()){
            fs.appendFileSync(logfile, logtime + ' ' + logMessage + '\n');
        } else {
            fs.writeFile(logfile, logtime + ' ' + logMessage + '\n');
        };
    });
}

然后我做了一个查找并替换了console.log / customLog。在控制台中,我转到文件/打开(我的文件)。如果有更好的方式我仍然想知道,但这是一个有效的解决方案。