trap コマンドは pipe と併用すると動作しない

trap コマンドは pipe と併用すると動作しない 以下のBashスクリプトがあった場合に、パイプで出力全部ログ吐いちゃおう、 っておもったらうまくERRトラップが動かなくなったので、メモ 動くコード #!/bin/bash trap "echo Non-zero exit code detected!" ERR function fail_please() { echo "Returning non-zero exit code!" return 1 } fail_please # 出力結果 Returning non-zero exit code! Non-zero exit code detected! 動かないコード #!/bin/bash trap "echo Non-zero exit code detected!" ERR function fail_please() { echo "Returning non-zero exit code!" return 1 } fail_please |& tee log_file.log # 出力結果 Returning non-zero exit code! Bash: Trap ERR does not work when pipe operator is used ...

2021-04-09 ·  2021-04-19 · 1 分 · 142 文字

ApiGatewayのログを ServerlessFramework で設定したい

要件としては、ApiGateway <=> Lambda の統合設定条件配下にて、 Lambdaからの応答結果が6MBを超えた場合に以下のようなログが出力される Lambda execution failed with status 200 due to customer function error: body size is too long. Lambda request id: XXXX-XXXX... これに対して、ServerlessFramework でログ設定を行いたい 参考 Serverless.yml Reference Enhancements for API Gateway REST API log setup Serverless complains about “Rest API id could not be resolved.” ApiGateway ステージ ログ/トレース の設定と動作 IAM Policy作成含め以下の設定だけで作成される provider: logs: restApi: accessLogging: false # Optional configuration which enables or disables access logging. Defaults to true. executionLogging: true # Optional configuration which enables or disables execution logging. Defaults to true. level: ERROR # Optional configuration which specifies the log level to use for execution logging. May be set to either INFO or ERROR. fullExecutionData: false # Optional configuration which specifies whether or not to log full requests/responses for execution logging. Defaults to true. CloudWatch ログを有効化(INFO/ERROR等の選択) API-Gateway-Execution-Logs_[APIID]/[stage] という形式でロググループが作成される ここに body size too long のログがでる ERROR のみで指定しないとリクエストが多い場合すぐ埋もれる。。 リクエスト/レスポンスをすべてログ /aws/api-gateway/[serviceName]-[stage] ロググループ アクセスカスタムログ /aws/api-gateway/[serviceName]-[stage] ロググループ format: で指定できる

2019-11-11 ·  2019-11-11 · 1 分 · 148 文字

Congnitoの発行するトークンの意味と動作

参考URL https://dev.classmethod.jp/cloud/aws/study-tokens-of-cognito-user-pools/ 理解 Cognito トークンには3つ種類がある IDトークン クライムを表すトークン (JWT) アクセストークン Cognitoユーザ属性を表示、更新等行う為のトークン (JWT) リフレッシュトークン IDトークン、アクセストークンを更新する為のもの CognitoクライアントID設定画面で有効期限を設定できる デフォルトは30日(1-3650日指定可能) ID/アクセストークンは1時間で無効になる リフレッシュトークンが有効な間はID/アクセストークンは自動更新される getSession で自動更新

2019-11-05 ·  2019-11-05 · 1 分 · 19 文字

Ninja 250R オイル交換

久しく交換していなかったので、天気も良いしNinjaオイル交換. 使用するもの 今回はエレメント交換も行うので、フィルター. オイル シリコングリス 他にも、ワッシャー、大小オーリングを使用します. 古いオイルの排出 まずはドレインボルトを外して、ドバーっと古いオイルを出します. これは、外したボルト わかりにくいけど、外したところ ちゃんとお手製のオイル廃棄箱を受け皿にしています. エレメント交換 下の画像の右側の大きな円の部分を外します. これは外したフィルター. 下から除くとこんな穴が空いてます. ドレインボルトよりもこっちを外すほうが、難しいですね. 円形の全方位からオイルが出てくるので、蓋やレンチや手がオイルで ヌレル こと間違い無し. 綺麗に拭き取ります. 外したフィルターを分解して、これもオイルを拭き取ります. これは、外した円形の蓋の裏側. 大きい方のオーリング(黒いゴム製の輪っか)が溝にはまってます. 今回はこのリングも交換します. これは、フィルタから外したところ. 画像の下の方に、小さい方のオーリングが同じように溝にはまっているので、 これも取り外して交換です. これが古いオーリング 新しいオーリングや、軸の部分にはシリコングリスを塗ってから装着. オイルを 2L 弱入れて完成. 良い休日でした.

2017-03-05 ·  2017-03-05 · 1 分 · 33 文字

ag 使い方メモ

The Silver Searcher AG よく使うオプション # ディレクトリ階層の深さ指定 --depth NUM Search up to NUM directories deep (Default: 25) # (マッチした)ファイル名のみを出力 -l --files-with-matches Only print filenames that contain matches (dont print the matching lines) # マッチしなかったファイル名を表示 -L --files-without-matches Only print filenames that dont contain matches # ファイル名にマッチしたものを出力 -g PATTERN Print filenames matching PATTERN # 行番号を非表示 --[no]numbers Print line numbers. Default is to omit line numbers when searching streams # 隠しファイルも検索 --hidden Search hidden files (obeys .*ignore files) # 全ファイルを検索(隠しファイル、無視指定ファイル含め検索) -u --unrestricted Search all files (ignore .agignore, .gitignore, etc.; searches binary and hidden files as well) # 大文字小文字区別 -s --case-sensitive Match case sensitively # 大文字を含んでいれば、大文字小文字区別 -S --smart-case Match case insensitively unless PATTERN contains uppercase characters (Enabled by default) # ファイル名を正規表現指定で制限検索(ex. ag -G '\.(c|h)' pattern) -G --file-search-regex PATTERN Limit search to filenames matching PATTERN Install For Windows The Silver Searcher windows port ag.zip Install For msys2 pacman -S mingw-w64-x86_64-ag help Usage: ag [FILE-TYPE] [OPTIONS] PATTERN [PATH] Recursively search for PATTERN in PATH. Like grep or ack, but faster. Example: ag -i foo /bar/ Output Options: --ackmate Print results in AckMate-parseable format -A --after [LINES] Print lines after match (Default: 2) -B --before [LINES] Print lines before match (Default: 2) --[no]break Print newlines between matches in different files (Enabled by default) -c --count Only print the number of matches in each file. (This often differs from the number of matching lines) --[no]color Print color codes in results (Enabled by default) --color-line-number Color codes for line numbers (Default: 1;33) --color-match Color codes for result match numbers (Default: 30;43) --color-path Color codes for path names (Default: 1;32) --column Print column numbers in results --[no]filename Print file names (Enabled unless searching a single file) -H --[no]heading Print file names before each file's matches (Enabled by default) -C --context [LINES] Print lines before and after matches (Default: 2) --[no]group Same as --[no]break --[no]heading -g PATTERN Print filenames matching PATTERN -l --files-with-matches Only print filenames that contain matches (don't print the matching lines) -L --files-without-matches Only print filenames that don't contain matches --[no]numbers Print line numbers. Default is to omit line numbers when searching streams -o --only-matching Prints only the matching part of the lines --print-long-lines Print matches on very long lines (Default: >2k characters) --passthrough When searching a stream, print all lines even if they don't match --silent Suppress all log messages, including errors --stats Print stats (files scanned, time taken, etc.) --vimgrep Print results like vim's :vimgrep /pattern/g would (it reports every match on the line) -0 --null --print0 Separate filenames with null (for 'xargs -0') Search Options: -a --all-types Search all files (doesn't include hidden files or patterns from ignore files) -D --debug Ridiculous debugging (probably not useful) --depth NUM Search up to NUM directories deep (Default: 25) -f --follow Follow symlinks -F --fixed-strings Alias for --literal for compatibility with grep -G --file-search-regex PATTERN Limit search to filenames matching PATTERN --hidden Search hidden files (obeys .*ignore files) -i --ignore-case Match case insensitively --ignore PATTERN Ignore files/directories matching PATTERN (literal file/directory names also allowed) --ignore-dir NAME Alias for --ignore for compatibility with ack. -m --max-count NUM Skip the rest of a file after NUM matches (Default: 10,000) --one-device Don't follow links to other devices. -p --path-to-agignore STRING Use .agignore file at STRING -Q --literal Don't parse PATTERN as a regular expression -s --case-sensitive Match case sensitively -S --smart-case Match case insensitively unless PATTERN contains uppercase characters (Enabled by default) --search-binary Search binary files for matches -t --all-text Search all text files (doesn't include hidden files) -u --unrestricted Search all files (ignore .agignore, .gitignore, etc.; searches binary and hidden files as well) -U --skip-vcs-ignores Ignore VCS ignore files (.gitignore, .hgignore, .svnignore; still obey .agignore) -v --invert-match -w --word-regexp Only match whole words -z --search-zip Search contents of compressed (e.g., gzip) files File Types: The search can be restricted to certain types of files. Example: ag --html needle - Searches for 'needle' in files with suffix .htm, .html, .shtml or .xhtml. For a list of supported file types run: ag --list-file-types -l, --files-with-matches list file type ag --list-file-types ...

2017-01-06 ·  2017-01-06 · 5 分 · 980 文字