問題タブ [verbosity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - make コマンドの出力を制御して冗長性を抑え、各コマンドをエコーしないようにします
現在、私は Makefile を使用して、プロジェクトのすべての依存関係とコピーを追跡しています。問題は、makeが行っていることすべてを単に出力するだけであり、より重要な情報 (コンパイラの警告など) を見つける (または読み取る) のが困難になることです。
端末に表示される情報を制御する方法はありますか? -s
沈黙が作るオプションがあることは知っていますが、それは私が望むものではありません。もう少し洗練されたものが必要です。おそらく、コンパイル コマンド全体を表示せずにコンパイル ターゲットを表示します。
それを制御する方法はありますか?
注: automake および autoconf コマンドに関して同様の質問があります。しかし、私はそれらを使用していません。特に、作成中のものを探しています。
bash - スクリプトの冗長モードのエレガントな方法は?
私がbashスクリプトを書くとき、私は通常、この方法で詳細モードを取得します(簡略化):
そして、「詳細な出力」が必要になるたびに、次のように入力します。
またはたとえばこれ:
よりエレガントにする方法はありますか?「verbose」という名前の関数を定義して、の代わりに入力することを考えていまし[ $_V -eq 1 ]
たが、これはほんのわずかな改善にすぎません。
もっと一般的な方法があるはずです…</p>
c++ - 単純な Logger 実装 C++ の詳細レベル
私は現在、C ++での私の研究のために、プロジェクト用の単純なロガーを実装しています。
いくつかの異なるアペンダーと次のステップは、冗長レベルを実装することであるため、私はすでにロガー基本クラスを取得しています。問題は、詳細レベルの概念を正しく理解しているかどうかわからないため、実装を開始する前にフィードバックを得たかったことです。したがって、私の理解では、冗長レベルは一般的に次のように機能します。
ユーザーは最初に 2 つの Logger を作成します: fe:
その後、次のように詳細レベルを設定できます。
その後、次のように、必要に応じてログに記録できます。
while assert は致命的なエラー レベルで VSLogger に書き込みます
出力ファイルでは、おそらく次のようになります。
Visual Studio では、おそらく次のようになります。
それは冗長レベルの意味ですか、それとも一般的な冗長レベルの概念を誤解していますか?
r - パッケージのロード時にメッセージを無効にする
R環境にロードする必要のあるR(ROCR)のパッケージがあります。パッケージをロードすると、一連のメッセージが出力されます。これは通常は問題ありませんが、Rスクリプトの出力がさらなる分析に使用されているため、この出力をすべて完全に無効にします。それ、どうやったら出来るの?さらに、ROCRをまったく変更せずに実行したいので、このスクリプトの将来のユーザーも変更する必要はありません。
ここのところ:
sink()
ここでは機能しません-stdoutとstderrの両方をリダイレクトし/dev/null
ても何も起こりません。- 当然のことながら、
options(warnings=-1)
これらはそれ自体が印刷される警告ではないため、何もしません。
何かご意見は?
makefile - make の冗長性の制御
.c
多くのファイルで構成されるプログラムをコンパイルするためにメイクファイルを使用していますmake
が、呼び出されるたびに、最後の実行後に変更されたファイルのみがコンパイルされます (ここまで特別なことはありません)。
画面が乱雑になるのを避けるために@
、各$(CC)
呼び出しの先頭に追加し、その前にカスタマイズされたecho
メッセージを出力します。例えば:
私の質問は、次のmake
ことを可能にするために、より「動的な方法」で冗長性を制御するにはどうすればよいかです。
- 通常の動作: 実行されるすべてのメイクファイル ルールに対して、カスタマイズされたメッセージのみが出力されます。
- Verbose behavior : すべての makefile ルールによって実際に実行されたコマンドを出力します (あたかも
@
がまったく使用されていないかのように)。
c - Good Verbosity Macro(C99)
私は、かなり一般的なマクロであると想像するものを書きたいと思っています。次の形式のマクロの束を定義することにより、多くのPOSIXプログラムで繰り返される「-v」オプションをエミュレートしたいと思います。
ここoptv
で、コマンドラインで見つかった「-v」オプションの数をカウントしprog
、プログラム名を含みます(どちらも表示されていません)。これはうまく機能しますが、問題は変数を使用する必要があることです。V1("Output")
コンパイラエラーが発生します。私はいつでも使うことができV1("Output%s","")
ましたが、よりクリーンな解決策があるはずです。
c++ - プログラムへの冗長性の追加
これは非常に未熟な質問ですが、私は nix ベースのツールを作成しており、渡された vvv の数に基づいて詳細フラグを設定したいと考えており、プログラムでデバッグ/情報ステートメントを出力します。
私の質問は、optargs は一度に 1 文字しか解析できないため、これに opargs を使用するにはどうすればよいかということです。
また、冗長レベルが 3 であることがわかっている場合、すべての print ステートメントを if 条件にする必要がありますか? または、プリプロセッサを使用してそれを行う賢い方法はありますか?
また、誰かがオンラインでこれを行うコードを教えてくれたら、それは素晴らしいことです。
ありがとう
私はそれを理解し、他の誰かが将来これに出くわした場合、ここに投稿すると思いました:
基本的に、さまざまな冗長ステートメントすべてに対して、次のようなプリプロセッサを使用して特別な出力を定義しました。
次に、必要に応じてステートメントをコードに挿入します。
私のopt atgsは次のようになります
c - 正確な理由を特定する方法、なぜberkeleydbはdb->openでEINVALを返すのですか?
berkeley dbのドキュメントには、理由は次のように記載されています。
無効なフラグ値またはパラメーターが指定されました(たとえば、不明なデータベースタイプ、ページサイズ、ハッシュ関数、パッドバイト、バイト順序)、または指定されたデータベースと互換性のないフラグ値またはパラメーター。DB_THREADフラグが指定されており、このアーキテクチャーでは高速ミューテックスを使用できません。
DB_THREADフラグはDB->openに指定されましたが、DBハンドルが作成された環境のDB_ENV->open呼び出しには指定されませんでした。
バッキングフラットテキストファイルがDB_THREADフラグで指定されたか、提供されたデータベース環境がトランザクション処理をサポートしています。
私が使用する唯一のフラグはDB_CREATEであり、データベースタイプはDB_BTREEです。
EINVALにつながる正確な理由を知りたいのですが、「DB」構造内で役立つ冗長構成が見つかりませんでした(DB_ENVではset_verboseメソッドがありますが、DB_ENVは使用していません)。
python - Requests ライブラリからのログ メッセージを無効にするにはどうすればよいですか?
デフォルトでは、Requests Python ライブラリは次の行に沿ってログ メッセージをコンソールに書き込みます。
通常、これらのメッセージには関心がないので、無効にしたいと考えています。これらのメッセージを黙らせたり、リクエストの冗長性を減らしたりする最善の方法は何でしょうか?
java - Tomcat: ロガー名で log4j をフィルタリングする
log4j を非常に詳細に使用する外部パッケージを使用しています。私はコードを見て、予想されるlog4j
行を見つけました:
コードを変更できないので、変更しようとしましたlog4j.xml
:
category name
そのプロパティはロガー名と同等であると推測しました。本当ですか?そうでない場合、ロガー名でフィルタリングするにはどうすればよいですか?