問題タブ [stdout]

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.

0 投票する
4 に答える
6739 参照

ruby-on-rails - Rubyスクリプトを使用して呼び出されたときにRake出力をキャプチャするにはどうすればよいですか?

Rails開発用のWebベースの開発コンソールを書いています。コントローラーアクションの1つで、Rakeを呼び出していますが、Rakeが生成する出力をキャプチャできません。たとえば、コントローラーからのサンプルコードを次に示します。

Rakeの出力をキャプチャできない理由を誰かが知っていますか?Rakeソースを調べてみましたが、新しいプロセスなどがどこで発生するかわからないので、これができるはずだと思います。

どうもありがとう!エイドリアン


それ以来、Rubyの内部からRakeを呼び出す正しい方法を発見しました。これは、はるかにうまく機能します。

不思議なことに、一部のrakeタスクは現在完全に機能し(ルート)、最初の実行時に出力をキャプチャし、その後は常に空白になり(db:migrate:redo)、出力をキャプチャしないように見えるものもあります(テスト)。奇数。

0 投票する
12 に答える
195549 参照

bash - STDOUTのn行目を取得するコマンド

STDOUTのn行目を取得できるbashコマンドはありますか?

つまり、これを取る何か

そして次のようなことをします

再利用することを目的としたスクリプトを作成する場合、これは悪い習慣になると思いますが、シェルを日常的に使用する場合は、このような方法でSTDOUTをフィルタリングできると便利です。

また、これは書くのに簡単なコマンド(STDOUTをバッファリングし、特定の行を返す)になることも理解していますが、スクリプトを配置しなくても利用できる標準のシェルコマンドがあるかどうかを知りたいです。

0 投票する
1 に答える
2401 参照

c# - C# 内からネイティブ dll stdout/stderr をリダイレクトする

C# 内から stdout/stderr に出力するサードパーティのネイティブ dll の出力をリダイレクトしようとしています。stdout と stderr の両方の出力がログ ファイルに出力されます。

これが私の考えです(2つのストリームの場合はx2):

  • AnonymousPipeServerStreamを作成する
  • 経由でパイプのハンドルを取得します_outServer.SafePipeHandle.DangerousGetHandle()
  • P/Invoke を使用して、上記のハンドルでSetStdHandleを呼び出します
  • サーバー ストリームに接続されたAnonymousPipeClientStreamを作成する
  • AnonymousPipeClientStreamから読み取り、ロガーに出力するループに入るスレッドを作成します。
  • 定期的に電話flushするAnonymousPipeServerStream

したがって、これはすべてうまく機能しているようです...私のコード内で。コントロールがネイティブ DLL に渡されるとすぐに、すべてが stderr に戻ります! 必要に応じて、ネイティブ DLL にデバッグして、何が問題なのかを確認できますが、実際にはそうしたくないので、ハンドルがどのように機能するかを理解するのに 10 時間を費やす前に、誰かアイデアをお持ちですか?

参考までに、テスト コードはhttp://pastebin.com/f3eda7c8にあります。興味深いのは、コンストラクターの 58 ~ 89 行目です。(もちろん、後でエラー処理などを追加します)。

0 投票する
3 に答える
8097 参照

warnings - 警告を STDERR または STDOUT に出力する必要がありますか?

定義済みのデータ セットを処理し、ファイルに出力するスクリプトを作成しています。1 つのデータ (アクセスしたすべてのセットで常に「通常」) が異なる場合に、この値が処理されていないことを示す警告をポップアップ表示したい (データにどのように影響するかわからないため)。この警告を stderr または stdout に出力する必要がありますか?

0 投票する
3 に答える
3426 参照

c++ - VCLはstdoutへのアプリケーション書き込みを形成します

私の会社には、ドキュメントオブジェクトモデルを備えた大規模なWindowsアプリケーションがあります。アプリケーションを開き、ファイルを開き、変更を加え、保存し、閉じます。GUIを上部から切り離して、いくつかのパラメーターを受け入れ、ファイルを開き、何か便利なことを行い、保存し、ファイルを閉じて、終了するコンソールアプリケーションを作成しようとしています。レガシーコードが大量にあるため、VCLフォームアプリケーションを使用して、コマンドライン(またはバッチスクリプト)から起動する必要があります。ステータスメッセージを書き出したり、「-version」や「-?」などのオプションに応答したりできるように、stdoutに出力できる必要があります。私はこのトピックについてグーグル検索をするのに朝中過ごしました、そして私は役に立つものを何も見つけませんでした。

このアプリケーションは、VCLを使用してCodeGear C ++Builder2007で記述されています。

0 投票する
5 に答える
35039 参照

python - Pythonのsys.stdoutを介したUnicode文字列の記述

しばらくの間、使用できないと仮定しますprint(したがって、自動エンコーディング検出の利点を享受できます)。だからそれは私たちにを残しsys.stdoutます。ただし、賢明なエンコーディングを行わないsys.stdoutほど馬鹿げています。

ここで、Python wikiページのPrintFailsを読み、次のコードを試してみます。

ただし、これも機能しません(少なくともMacでは)。理由がわかりすぎます:

(UTF-8は端末が理解できるものです)。

したがって、上記のコードを次のように変更します。

これで、Unicode文字列が適切に送信さsys.stdoutれ、端末に適切に印刷されます(端末sys.stdoutに接続されています)。

これはUnicode文字列を書き込む正しい方法ですか、sys.stdoutそれとも他のことをする必要がありますか?

編集:時々-たとえば、出力をless-にパイプするとき-sys.stdout.encodingになりますNone。この場合、上記のコードは失敗します。

0 投票する
3 に答える
7727 参照

text - バイナリstdinおよびstdout

stdinで整数の改行で区切られたリストを読み取り、stdoutと同等のバイナリ(4バイト)を出力するユーティリティのペアを作成しようとしています。その逆も同様です。

私が最初に考えたのは、これを行う単純なbash / linuxコマンドでしたが、見つけることができませんでした。私の2番目の考えは、これをC ++で行うことでしたが、stdinまたはstdoutをバイナリストリームに変更する方法がわかりません。

これを行うための良い方法について何か考えはありますか?私は特定のプログラミング言語に公平です。

0 投票する
3 に答える
1029 参照

c - read()の後にgetchar()を使用する

キーボードキャプチャの場合はc。次のコードは、矢印キー/escが押されたときに検出されます。同時に、ユーザーが入力した単語全体を読みたいので、これらはstdoutにも表示されるはずです。

しかし、'\ n'を削除すると、このコードは機能しません。stdoutが通常のシェルとして動作するようにしたい。

0 投票する
4 に答える
10602 参照

java - すべてのコンソール出力を適切なエンコーディングでSwingJTextArea/ JTextPaneにリダイレクトするにはどうすればよいですか?

System.outPrintStreamをJTextPaneにリダイレクトしようとしています。これは、特別なロケール文字のエンコードを除いて、正常に機能します。私はそれに関する多くのドキュメントを見つけました(例えば、mindprodエンコーディングページを参照してください)が、私はまだそれと戦っています。同様の質問がStackOverFlowに投稿されましたが、私が見た限りでは、エンコーディングは対処されていませんでした。

最初の解決策:

2番目のソリューションはjava.nioを使用する必要があります。文字セットの使い方がわかりません。

どちらの解決策もうまくいきません。何か案が?

よろしくお願いします、jgran

0 投票する
8 に答える
21598 参照

perl - Win32 Perl のログ ファイルと画面に STDOUT と STDERR を送信できますか?

インターネットを検索したところ、STDOUT を 2 つの異なる場所に接続するための適切な解決策がいくつか見つかりました。ログファイルと画面を同時に表示します。一例を次に示します。

しかし、この解決策では、STDERR は画面のみに表示され、STDERR は画面と、STDOUT が記録されている同じログ ファイルの両方に表示されます。それは可能ですか?

私の仕事は、ビルド プロセスをログに記録することですが、通常どおり IDE の画面にも表示したいと考えています。また、エラー メッセージをログに記録することは、ハッピー メッセージをログに記録することと同じくらい重要です。また、エラーを別のログ ファイルに記録することは、適切な解決策ではありません。