LoginSignup
4
4

More than 5 years have passed since last update.

log4jsでメール送信する設定

Last updated at Posted at 2016-03-09

概要

  • nodejs/Express/node-configと一緒に、log4jsでメールを送信する設定です。

方法

事前準備

以下をnpm installしておきます。
- expressjs
- node-config
- log4js
- nodemailer

サンプル

  • node-configのconfig.jsonのサンプルです。
  "log4js": {
    "appenders": [{
      "category": "access",
      "type": "dateFile",
      "filename": "./reports/logs/access.log",
      "pattern": "-yyyy-MM-dd",
      "backups": 3
    },
    {
      "category": "system",
      "type": "dateFile",
      "filename": "./reports/logs/system.log",
      "pattern": "-yyyy-MM-dd",
      "backups": 3
    },
    {
      "category": "mailer",
      "type": "smtp",
      "recipients": "logfilerecipient@logging.com",
      "sendInterval": 5,
      "transport": "SMTP",
      "SMTP": {
        "host": "smtp.gmail.com",
        "secureConnection": true,
        "port": 465,
        "proxy": "proxy.hogehoge.co.jp",    // プロキシがあればここに設定
        "auth": {
          "user": "****@gmail.com",  // user
          "pass": "**********"       // パスワード
        },
        "debug": true
      }
    },
    {"type": "console"}],
    "levels": {
      "access": "WARN",
      "system": "DEBUG",
      "mailer": "warn"
    }
  },

  • logger.jsのサンプルです。
var log4js = require('log4js');
var config = require('config');

log4js.configure(config.log4js);

module.exports = { 
    access: log4js.getLogger('access'),
    system: log4js.getLogger('system'),
    mailer: log4js.getLogger('mailer'),
    express: log4js.connectLogger(log4js.getLogger('access'), {level: log4js.levels.INFO})
};

  • 実際のコード中での呼び出し方です。
var logger = require('logger.js');
logger.mailer.warn('test warn mail');
logger.mailer.error('test error mail');

メール本文に以下のように出力されます。メールタイトルは「test warn mail」などになります。

[2016-03-09 15:30:04.571] [WARN] mailer - test warn mail
[2016-03-09 15:30:04.587] [ERROR] mailer - test error mail

以上です。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4