LoginSignup
2
0

More than 1 year has passed since last update.

ローカル環境のみで有効なconsole.log()を即席で作る

Posted at

はじめに

初めて実務でフロントエンド開発を行っています。
想像の10倍ぐらいconsole.log()を書いているわけですが、その時「仮に削除 or コメントアウトし忘れても大丈夫なconsole.log()が欲しい」と思ったのがきっかけです。

console.log()の仕様を見てみる

/*略*/

log(message?: any, ...optionalParams: any[]): void;

/*略*/

↑らしいです。
これをそのまま引数として受け取ってローカル環境だった場合のみconsole.log()を実行する、というやり方で実現できそう。

実装


const defaultLocalPortNumber = process.env.REACT_APP_LOCAL_PORT_NUMBER || 3000

/**
 * ローカルかどうか
 *
 * @param {number} [localPortNumber=3000]
 * @return {*}  {boolean}
 */
export const isLocal = (localPortNumber: number = defaultLocalPortNumber): boolean => Number(location.port) === localPortNumber

/**
 * ローカル用console.log()
 *
 * @param {*} [message]
 * @param {...any[]} optionalParams
 */
export const consolocalLog = (message?: any, ...optionalParams: any[]): void => {
  if (!isLocal()) {
    return
  }

  console.log(message, ...optionalParams)
}

/**
 * ついでにローカル用console.error()も
 *
 * @param {*} [message]
 * @param {...any[]} optionalParams
 */
 export const consolocalError = (message?: any, ...optionalParams: any[]): void => {
  if (!isLocal()) {
    return
  }

  console.error(message, ...optionalParams)
}

使い方

import { consolocalLog, consolocalError } from '../path/to/helpers'

/*略*/

consolocalLog('DEBUG OUTPUT: ', randomData)
consolocalError('ERR OUTPUT: ', err)

/*略*/

とはいえ最後はしっかり確認して削除なりコメントアウトなりするに越したことはないと思います。

2
0
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
2
0