質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

ロギング

コンピュータにおけるロギングとは、コンピュータプログラミングにおける形跡を記憶することをさします。これは、システムのアクティビティの理解や、問題究明のために監査証明を残す目的でおこなわれます。

Q&A

解決済

2回答

12823閲覧

Windows Terminal アプリでロギングしたい

Oshiete-kun

総合スコア51

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

ロギング

コンピュータにおけるロギングとは、コンピュータプログラミングにおける形跡を記憶することをさします。これは、システムのアクティビティの理解や、問題究明のために監査証明を残す目的でおこなわれます。

0グッド

0クリップ

投稿2020/08/27 05:39

編集2021/06/04 04:47

前提・実現したいこと

Windows 10 の Microsoft Store 製品の Windows Terminal アプリで、コンソールログを記録する設定があれば教えて下さい。

ターミナルアプリとして Windows Terminal を使おうと思っています。
PowerShell, CMD.EXE, WSL を統一的に使えて便利なのですが、コンソールログを保存するための設定が分かりません。
設定で出来るのであれば、教えていただけないでしょうか。

ターミナルを立ち上げたタイミングで自動でコンソールに写された文字がテキストファイルとしてロギングされることを望んでいます。

2021年06月04日(金) 追記

  • Isusue #642
    • 2019年5月にイシューが建てられているが、今だ取り込まれることは無いみたいだ。
    • 同じイシュー #10086 も #642 にまとめられるオペレーションがあるので、やっぱり今だ生きている。
    • リクエストは、一定数はあるようだけど...。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/08/31 01:00

個人的に何も便利そうに感じないのですが、用途はなんでしょうか? 他のデスクトップ環境付属のターミナルエミュレータソフトでもそのような機能が付いているものは聞いたことがなく、そもそもWindowsのコマンドプロンプトにもありません。唯一あるのが、ターミナルエミュレータというより、通信ソフトの性格が強いteratermなどのソフトです。 何かの通信系操作ログを残したいという要件であれば、具体的にやりたいことを書いて、そういうことを調べ、調べた結果をまとめて、これだけ分かってるんだけど、もうないか?のような聞き方をしましょう。Windowsで端末表示に使えるソフトはいくつかあります。その中には通信系操作のログを取れるものもあるかもしれませんよ。 ただプログラミングには全く関係ないですけどね。
Oshiete-kun

2020/08/31 05:21

dameoさんの職業や趣味などが分かりませんので、便利に感じていただけるように説明出来るか分かりませんが、自分の場合の用途を説明いたします。 ターミナルアプリは、サーバーの設定変更やアプリケーションのサーバーへのデプロイでよく使います。 同一の設定や同一のアプリを複数のサーバーへ配置する際には、スクリプトを使ったリモートコマンドの実行を使ったりします。 Ansible や ServerSpec などを使う事もありますが、自分の場合は最近でも Bash や PowerShell も使います。 コロナ影響もあってWFHでは SSL-VPN 経由での作業もあるので、今まで会社のオンプレLinuxマシンから行ってた作業をローカルPC(Windows)から行うことも多々あり、WSL(Linux)とPowerShellも組み合わせてオペレーションする機会も出てきました。 そして、ミドルウェア等を含めたサーバーの変更作業や設定確認作業時には、作業ログが欠かせません。 dameoさんの仰るように通信ソフトのTeraTermやPutty、RLoginにはコンソールログの機能があり、一般的に利用されています。ログをターミナルの開始から自動で取得する設定を入れておくことで、ログの取得漏れを防いで、自分の作業記録をより完全なものに近付けるようにしたいと考えています。 Windows Terminal アプリで、先般の通信ソフトのようなコンソールログが取れないかと思いましたが、Windows Terminal アプリについては出たてで紹介記事のようなものばかりでしたので、例えば開発者コミュニティなどでロギングに関して紹介や議論がされていたとかの情報を教えてくれる人がいないか等を期待して Teratail で質問した次第です。 アプリケーションのデプロイやサーバー設定確認などがプログラミングに全く関係ないとは思ってもいませんでした。 自分の知らないことは、まだまだあるなぁと痛感いたしました、ありがとうございます。 ちなみに、自分が確認した範囲では ConEmu という Windows向けターミナルソフトではコンソールログを出力出来るようです。 https://conemu.github.io/en/AnsiLogFiles.html ↑しかし、どうもバグってんのかな? https://teratail.com/questions/130712 https://stackoverflow.com/questions/37739276/conemu-log-console-output-option-not-working Windows Terminal を使いたい理由は Microsoft製で Microsoft Store で配布しているというのが大きな理由です。 自分以外の人にも、同じ環境で作業してもらいたいのでなるべく標準的な環境を整えたいと考えています。Windowsのグループポリシーを使ってインストールを制御できるといいなという狙いもあったりします。
退会済みユーザー

退会済みユーザー

2020/08/31 05:40

理由は分かりました。そういう作業のときは手順も決まってるものですし、使用するソフトも決まってるし、操作ログを取る手立ても通常あると思いますが、状況によっては自分で考えて、逆に納得させないといけないこともあるかもですね。 そういう意味ではMS謹製というのは大事な部分かもしれません。そういう作業時は私の経験だとTeratermでした。日本だったので知名度の高さからそうなったんでしょうね。Windowsの端末エミュレータとしては、 https://qiita.com/Ted-HM/items/9a60f6fcf74bbd79a904 辺りにまとまっていますが、ログが取れるかどうかは分かりません。国外の方が情報は多いと思いますが、使用許可が難しくなるかもしれません。 他の方法だと、Windowsではないですが、 https://unix.stackexchange.com/questions/200637/save-all-the-terminal-output-to-a-file こんなのもあります。仕組みとして入るなら、悪くないですね。
退会済みユーザー

退会済みユーザー

2020/08/31 05:55

最後に書いた方法は、overさんの言ってるwindowsのstart-transcriptと同じ機能です。 個人的な意見ですが、端末のログを残すよりはstart-transcriptでログを残した方がより柔軟で、オペレーションミスも減るいいソリューションのような気がします。
guest

回答2

0

自己解決

6/4 に追記したように githubイシューを発見しましたので、これをもって解決といたします。
microsoft/terminal/issues/642
ご協力頂きありがとうございました。

投稿2021/08/19 12:17

Oshiete-kun

総合スコア51

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Oshiete-kun

2021/10/21 14:07

イシューがリリースに取り込まれて、本日リリースを迎えました。 https://github.com/microsoft/terminal/pull/11062 イシュークローズの際にも、あーだーこーだあったのですが、最終的には screen のハードコピーを保存するという機能でリリースされました。 一部では、私と同様の機能(ターミナル起動時から screen 出力バッファをストリーム的にファイルに出力する)を求める意見もあったのですが、ロギング(バッファを出力する)は別イシューとして引き継がれています。 https://github.com/microsoft/terminal/issues/9700
guest

0

調べた限り現時点での機能提供はないみたいです。
Powershellであれば、「Start-Transcript」を実行してからコンソール操作する等で実現するしかなさそうです。

投稿2020/08/28 08:50

over

総合スコア4315

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Oshiete-kun

2020/08/28 09:05

そうなんですよねぇ。。。 軽くググった感じでは Transcript が妥当なところで、いい解決策が見つからなかったので質問させて頂きました。 Windows Terminal でコンソールログが取れれば、かなり良いソリューションになったのですが、今のところ出来ないということなのですねぇ...。 とりあえず、PowerShell に関しては、グループポリシーでログ出力を自動化というか強制することが出来るようなので、現状ではこちらで実現させようかと思います。 https://level69.net/archives/24861 ``` グループポリシー [ユーザーの構成>管理用テンプレート>Windows PowerShell]を開きます。 「PowerShell トランスクリプションを有効にする」を開き「有効」変更します。 また、出力先を入力します。 ``` 質問は、もうしばらくオープンのままとさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問