ページ「パソコンの大先生」と「Xamarin.MacでNLogを使う」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
imported>仲井牧人
 
imported>Administrator
(Administrator がページ「Xamarin.Mac/NLogを使う」を「Xamarin.MacでNLogを使う」に移動しました)
 
1行目: 1行目:
'''パソコン大先生'''とは、簡単にまとめると大人数の前で
+
[[Xamarin.Mac]]でも[[NLog]]を使えると捗る。
  
いかに'''素早く・華麗に'''トラブルを解決すると与えられる称号。この称号はスピードが最も重要視されている。
+
==実装1==
 +
[[Xamarin.Mac]]でも[[NLog]]はなんら問題なく使用できる。[[NuGet]]から一発[[インストール]]である。試してはいないが[[MonoMac]]でも同じだと思う。
  
== 獲得条件 ==
+
ただし[[ファイル]]に出力する場合に注意が必要で、[[Mac OS X]]ではあらゆる[[ファイル]][[アプリ]]の外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。
以下のイベントをクリアすると高確率で称号を獲得可能。()内はワンポイントアドバイス
 
* [[ブラインドタッチ]]の習得'''
 
 (タイピングの早くなる元。「カタカタカタッターン」と適度に鳴らし作業感をアピールさせることが重要)'''
 
* [[ショートカットキー]]の記憶'''
 
 (ポンッポンッとできるようになれば相手にも自分にも効率の良さを演出できる)'''
 
* [[コマンドプロンプト]]からの[[ipconfig]]と[[ping]]'''
 
 (黒画面は素人にとって最大のアピールポイント。うまく活用しよう)'''
 
* [[フリーソフト]]の大量[[インストール]]'''
 
 (ここは複数のフリーソフトをいかに効率良く使うかが重要。)'''
 
* [[IT]]系のサイトか[[週刊アスキー]]などの雑誌を読んで新製品に詳しくなる'''
 
 (最新の情報をわかり易く、時には少し難しい単語も交えると相手に好感を与える)'''
 
* [[ブラウザ]]の[[アドオン]]による過剰カスタマイズ'''
 
 (ここは哲学系アドオンをインストール。入れ過ぎはアウト)'''
 
* [[P2P]]のための[[ルータ]]の[[ポート開放]]'''
 
 (むやみに開放しないこと また予行演習も兼ねておくと尚良。)'''
 
* [[プログラミング言語]]に取り組むが1時間で挫折'''
 
 (ここはあえて「まだあまりPC(発音はピースィー)詳しくない」と25度の笑顔を引き出す)'''
 
* [[Linux]]を[[仮想マシン]]で入れて一般人とは違う気分に浸る あくまでインストールだけ'''
 
 (事前に基本操作とWinと違った見た目を演出を出しておこう)'''
 
* [[スペック厨]]として恥ずかしくない[[高性能マシン]]を自作'''
 
 (惜しみなく金をつぎ込もう)'''
 
* [[エロサイト]]情報への精通'''
 
 (何方でも可。かえって印象を落とす可能性もあるので注意)'''
 
  
== 重要点 ==
+
===ファイルに出力するNLog.configの設定例===
=== イベントフラグ ===
+
そこで以下の例では[[Mac OS X]]では定番の「~/Library/Logs/」以下に出力してみた。
「パソコン大先生」の称号を受け取るのは決して楽ではない。まずパソコンのセッティングをするイベントフラグを立てなければいけないのがルールであるが、'''画面の前のおまいらの場合到底無理だということは承知のうえだろう'''<br>
 
と思われがちだが、たしかに可愛い女の子や好きな同級生を相手にイベントフラグを立てるのは異常に困難であるが、親戚のジジババや職場の同僚などを相手にした場合は比較的容易であるといえ、そこで経験値を稼ぐのが正攻法であると思われる。
 
<br><br>
 
  
◆PC会話の方法をサンプルとしてあげておく 自分にあった会話法を選ぼう<br><br>
+
<source lang="xml">
CASE1「メガネの場合」<br>
+
<?xml version="1.0" encoding="utf-8" ?>
 「ではまず○○を直しますね^^(ここで口から35度の笑顔を出す。安心感の演出)<br>
+
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
  ~はい直りましたよ、次からはシステム復元バックアップ(少し難しい単語を出す)を定期的にとっていざというときに備えると宜しいかと思います。<br>
+
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  いま話題のSSDですとインテル製あたりがいいですかね、彼は安定して作業することができます。またMicrosoftコンピューターMachineと強く関わってるあたり信頼出来ると思います」(ここで席を外す)<br>
+
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
CASE2「髪長フツメンの場合」<br>
+
      autoReload="true"
 「えーはいでは修復させて頂きます(慎重な顔)<br>
+
      throwExceptions="false"
  ~はい、これで復旧いたしました。(真剣な顔)今直したエラーですと調べてみると意外とごく一般に起こるトラブルケースかと思いますね。やはりこういう同士の競合が起こると不安定になりがちになるのはお分かりいただけたかと思います。」(慎重な顔してスラリと退場)
+
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
<br><br><br>
 
  
◆簡単!イベントフラグ立て方講座
+
  <variable name="appname" value="monobook"/>
自分の力を最大限に・大人数に披露するには技術を要する。ここでできる限り簡単な方法を記載しよう
 
  
 +
  <targets>
 +
    <target xsi:type="File" name="logfile"
 +
    fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
 +
        layout="${longdate} ${uppercase:${level}} ${message}" />
  
=== その他 ===
+
    <target xsi:type="Console" name="console" />
パソコン大先生とは他人のパソコンやその周辺機器の設定などを行うと一定確率で貰うことができる称号である。
 
昔はP2Pやるためにルーターのポート開放が出来るだけで 大先生の称号がもらえた。
 
昨今ではパソコンを使える人口が増えたため出現率は非常に低くパソコン大先生の称号はレアアイテムとなっている。
 
  
Windows育ちの奴等が相手の場合にはコマンドプロンプト起動して「DIR」と入力するだけで高い確率で称号を得ることができる。
+
  </targets>
また大先生ならGUIを鼻で笑いながらキーボードをカチャカチャッターン!とする技能が求められ、これが出来ると大量の経験値を得ることができる。
 
さらに「インターネットが繋がらない!」という状況でルータにpingを打ち「どうやらLANは機能している(いない)ようだな…(キリッ」 ができたら一人前だろうと言われている。
 
  
== 関連 ==
+
  <rules>
* [[プログラミング童貞]]
+
    <logger name="*" minlevel="Trace" writeTo="logfile" />
* [[プログラミング素人童貞]]
+
    <logger name="*" minlevel="Info"  writeTo="console" />
* [[ニュース速報VIP]]
+
  </rules>
 +
</nlog>
 +
</source>
 +
NLogに設定するパスは[[絶対パス]]なので、ホームディレクトリのパスの取得は「[[MonoMac/特殊ディレクトリのパスを取得する]]」を用いてMyDocumentsを指定することで取得した。
 +
 
 +
また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。
 +
 
 +
===備考===
 +
NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。
 +
 
 +
===不具合===
 +
これは2015年8月3日の情報です。
 +
[[Xamarin.Mac]]において「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん[[不具合]]だと思う。
 +
 
 +
==関連項目==
 +
*[[MonoMac/特殊ディレクトリのパスを取得する]]
 +
 
 +
==参考文献==
 +
{{reflist}}
 +
 
 +
{{stub}}
 +
 
 +
[[category:Xamarin.Mac]]
 +
[[category:MonoMac]]

2019年5月22日 (水) 05:13時点における最新版

Xamarin.MacでもNLogを使えると捗る。

実装1[編集 | ソースを編集]

Xamarin.MacでもNLogはなんら問題なく使用できる。NuGetから一発インストールである。試してはいないがMonoMacでも同じだと思う。

ただしファイルに出力する場合に注意が必要で、Mac OS Xではあらゆるファイルアプリの外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。

ファイルに出力するNLog.configの設定例[編集 | ソースを編集]

そこで以下の例ではMac OS Xでは定番の「~/Library/Logs/」以下に出力してみた。

<?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" >

  <variable name="appname" value="monobook"/>

  <targets>
    <target xsi:type="File" name="logfile" 
    	fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
        layout="${longdate} ${uppercase:${level}} ${message}" />

    <target xsi:type="Console" name="console" />

  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="logfile" />
    <logger name="*" minlevel="Info"  writeTo="console" />
  </rules>
</nlog>

NLogに設定するパスは絶対パスなので、ホームディレクトリのパスの取得は「MonoMac/特殊ディレクトリのパスを取得する」を用いてMyDocumentsを指定することで取得した。

また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。

備考[編集 | ソースを編集]

NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。

不具合[編集 | ソースを編集]

これは2015年8月3日の情報です。 Xamarin.Macにおいて「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん不具合だと思う。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]