tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルログなどを書き込むフォルダ
記事No10754
投稿日: 2012/03/28(Wed) 20:23
投稿者ようこ
作成したアプリケーションを起動すると、
⇒2012/03/01,LOGIN

帳票出力すると、
⇒2012/03/01,OUTPUT

などと、自動的に“どこかのフォルダ(ローカル内)”に、
CSVファイル等の形式で追記していきたいと思っています。
※アプリを使用するのは管理者権限ではなく一般ユーザーです。

このようなファイルを書き込むフォルダとして
どの場所を利用するのが妥当なのでしょうか?

■EXEファイルの起動パス(プログラムフォルダ内)に
 『LOG』というフォルダも作って書き込む

■Cドライブの直下に『C:\myapp\LOG』というフォルダを
 作って書き込む

■マイドキュメント内に『\myapp\LOG』というフォルダを
 作って書き込む

※権限・セキュリティなどの問題があったり?、OSによって、
 ディレクトリパスが違ったり?するので、皆さんは
 どのようにしていますでしょうか?

利用場面によっても違うかも知れませんが、

⇒ログ的なものを自動的に追記で書き込む
 (必要に応じて、そのログファイルを人間が開いて確認する)
⇒そのログファイルを別の場所へコピーする

などの機能が出来れば良いのですが。

宜しくお願い致します。

以上

[ツリー表示へ]
タイトルRe: ログなどを書き込むフォルダ
記事No10755
投稿日: 2012/03/28(Wed) 21:16
投稿者オショウ
> このようなファイルを書き込むフォルダとして
> どの場所を利用するのが妥当なのでしょうか?

  エンドユーザーの要望に沿うようにしています。

  OS的とかセキュリティー的に『Program Files』下に書き込みを
  行うのは云々・・・と言うことはありますが、仕様面でC:\に書き
  込むことはフラグメンテーションにも影響しますので、HDDを
  のパーティションを複数作って、必ずD:\より後ろにするようにし
  ています。

  管理者権限が無くても管理者権限を偽装する手法もありますので
  別段、困ることもないので、Vista/Win7でもWinXPと何等変わる事
  なくプログラム動作させてます。

※ 管理者権限偽装は、流通ソフトではなく請負で製作・納入している
  ので、問題にはなりませんが・・・流通ソフトに導入すると、厄介
  なことになりますネ!

※ Log4Net 使っているので、その点も別段苦労しない・・・
  ソースコードも公開されているので、改変したければ可能かと。

以上。参考まで

[ツリー表示へ]
タイトルRe: ログなどを書き込むフォルダ
記事No10756
投稿日: 2012/03/28(Wed) 21:52
投稿者魔界の仮面弁士
> ※権限・セキュリティなどの問題があったり?、OSによって、
>  ディレクトリパスが違ったり?するので、皆さんは
>  どのようにしていますでしょうか?
自分の場合は、設定画面にて出力先フォルダを変更できるようにしています。
初期値は、ドキュメント等のユーザー別フォルダが多いですね。

とはいえ、固定パスを初期設定とする場合もあります。
システム連携がある場合には、サーバー上の共有フォルダを使う事もあれば、
特定のローカルパスを固定値として使う事もあります。特殊な例では、
特定の USB メモリが差し込まれた場合に、そこを優先保存先とするなど。


> 利用場面によっても違うかも知れませんが、
案件によって変わってくるでしょうね。


> ■EXEファイルの起動パス(プログラムフォルダ内)に
>  『LOG』というフォルダも作って書き込む
> ■Cドライブの直下に『C:\myapp\LOG』というフォルダを
>  作って書き込む
この場合は一般ユーザーでも書き込めるよう、それらの
フォルダに対して適切なアクセス権を与えておく必要がありそうです。

フォルダ側の設定を変更するのか、アプリ側で権限を偽装するかはケースバイケースで。

# 回答になっていないかも。

[ツリー表示へ]