NLogを使ってみる
ファイルとコンソールに出力
コンソールアプリケーションでログ出力
ログレベルごとにログメッセージを書き込みます。
using NLog; using System; namespace NLogConsole { class Program { private static Logger logger = LogManager.GetCurrentClassLogger(); static void Main(string[] args) { logger.Trace("Sample trace message"); logger.Debug("Sample debug message"); logger.Info("Sample informational message"); logger.Warn("Sample warning message"); logger.Error("Sample error message"); logger.Fatal("Sample fatal error message"); Console.ReadKey(true); } } }
コンフィグ
NLog.configファイルにログ出力先としてファイルとコンソールを指定して、それぞれにログレベルを設定します。
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <targets> <target xsi:type="File" name="logfile" fileName="file.txt" layout="${date:format=yyyyMMddHHmmss} ${message}" /> <target xsi:type="ColoredConsole" name="console" layout="${longdate} ${uppercase:${level}} ${message}" /> </targets> <rules> <logger name="*" minlevel="Info" writeTo="logfile" /> <logger name="*" minlevel="Trace" writeTo="console" /> </rules> </nlog>
実行結果
ファイルは直下にInfoログ以上が出力されました。
layout="${date:format=yyyyMMddHHmmss} ${message}"
と指定したフォーマットで日付も出力されてます。
ColoredConsoleを指定したので、コンソールには色付きでTraceログ以上が出力されました。出力内容もコンソール用の内容layout="${longdate} ${uppercase:${level}} ${message}"
になってますね。
Gmailに出力
Gmailにも遅れるようなのでやってみます。
NLog.config
targetsにGmail用の設定を追記します。メールアドレスは適宜読み替えで。パスワードはGmailの二段階認証でアプリパスワードを発行しました。
このとき二段階認証にしてたので別のアプリパスワードを発行。
sh-yoshida.hatenablog.com
<target xsi:type="Mail" name="gmail" smtpServer="smtp.gmail.com" smtpPort="587" smtpAuthentication="Basic" smtpUserName="user@gmail.com" smtpPassword="password" enableSsl="true" from="user@gmail.com" to="user@gmail.com" cc="user@gmail.com" />
rulesにはログレベルにFatalを指定して追記しました。
<logger name="*" minlevel="Fatal" writeTo="gmail" />
実行結果
Fatalレベルのログだけメールで飛んできました。簡単♪
今回はこれくらいで。あとは実際に使うかもってなったらもう少し詳しく踏み込んで調べてみよう。
Visual Studio で README.md を追加して編集する
概要
Visual StudioでREADME.mdを編集したくてもソリューションエクスプローラに表示されません。面倒だなと思いつつ毎回VSCodeでREADME.mdだけ編集したりしてましたが、Visual Studio上で出来るようにしてみました。
環境
Visual Studio Community 2015
READMEの作成
まずは新規にREADME.mdを作成してみます。ソリューションエクスプローラのソリューションのコンテキストメニューから[追加]-[新しい項目]を選択。
README.mdを追加。
[Solution Items]フォルダが追加されてその中にREADME.mdファイルができました。これでVisual Studio上で編集できるようになりましたぞ。
READMEの追加
既にREADME.mdがある場合は、同じように[追加]-[既存の項目]を選択。
ファイル選択ダイアログでREADME.mdを追加。
同様に[Solution Items]フォルダの中にREADME.mdファイルが表示されます。
これで毎回VSCodeでREADME.mdだけ編集なんてことはしなくてよくなりました\(^o^)/
2択で迷ったら
決められない選択
急遽会社の事情で転職をせざるを得なくなり、年始から転職活動を行っておりました。おかげでほとんどブログも更新できず…。それも終わりが見えてきました!
なんやかんやありまして、何社か内定を頂いた企業のうち最終候補2社まで絞り込んだのですが、期限ぎりぎりまで悩んでも決めきれないという事態発生!ここまで来たらどっちを選んでもそんなに変わらないだろうということでプログラマならプログラマらしくコード書いてプログラミングで決めました。
これでようやく転職先が決まったので解放される♪
転職活動について
記録としてスケジュール感だけでも残しておこうと思います。
転職について調べる
最初は図書館で転職系の書籍を何冊か借りて読みました。
真っ先に読み始めたのがこちら。
エンジニアとして世界の最前線で働く選択肢 ?渡米・面接・転職・キャリアアップ・レイオフ対策までの実践ガイド
- 作者: 竜盛博
- 出版社/メーカー: 技術評論社
- 発売日: 2015/10/08
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
活躍できる条件をすべて揃えてから渡米する人はほとんどいない
「○○ができてから」などの理由で先延ばしにはしない方が良い。人生のステージが進むに従って実現がさらに困難になる。というような言葉に大変励まされました。
書いてある内容は素晴らしいのですが、よく考えてみたら海外に行く予定はなかった。正月休みが終わる。
転職エージェントに登録する
基本的な知識を蓄えた後に転職エージェントに登録をしました。
最初に100社くらいの求人情報を紹介してもらい、最終的に15社に絞り込みを行って書類選考に提出してもらうのですが100件全部に目を通すのたいへん!そして1月が終わる。
そして面接へ...
書類選考で何機か失いましたが、選考が通った中から7社まで絞り込みを行い、企業によってはテストを受けたりして一次面接へたどり着きました。
履歴書、職務経歴書を練り込み、面接対策として自己紹介(自己PR)、志望動機、退職理由、強み弱み、キャリアビジョン、質問事項を用意します。その間人生初のインフルエンザで1週間のタイムロス。この時点で2月中旬。
なんとか上手いこといって全部二次面接(最終)まで漕ぎつけ、最終的に6社から内定頂きました。さすが売り手市場☆彡
所感
今回決まった期限で転職を行う必要がありまして、職務経歴書の作成や面接対策、仕事終わってからの面接など、しんどいと思うことが多々ありました。あっちこっち行ったので電車代も地味にかかります。それでも今は売り手市場なので複数の内定を頂けたのは幸運でした。自分自身を改めて振り返るいい機会になりましたし、市場価値を高めることの重要性も実感できました。
春から新しい環境で働くことになります。
不安はたくさんありますが、やるだけのことは全てやってみます!