1

ドメイン モードで WildFly 9 を使用してアクセス ログを設定しようとしています。domain.xml ファイルで次のようなものを使用することを提案するいくつかのリソースを見つけました。

 <host name="default-host" alias="localhost">
     <location name="/" handler="welcome-content"/>
     <filter-ref name="server-header"/>
     <filter-ref name="x-powered-by-header"/>
     <access-log pattern="%A%t%h%l%u%r%s%b%T%I" directory="${jboss.server.log.dir}" prefix="access" suffix=".log"/>
 </host>

その後、wildfly を再起動しましたが、ロギングは行われておらず、wildfly の起動時にエラーも発生していないため、頭を壁にぶつけています。どなたでもお役に立てれば幸いです。

また、ドメイン モードで cli を使用してアクセス ロギングを登録する方法はありますか?

4

2 に答える 2

5

ドメイン モードとスタンドアロンの両方の CLI ですべてのリソースを追加する方法が必要です。XML で間違ったプロファイルを編集している可能性があります。とにかく、CLI を使用することが推奨されるソリューションです。

最初に知っておく必要があるのは、実行しているプロファイルです。実行中のサーバー グループによって判断できます。

[domain@localhost:9990 /] /server-group=*:read-attribute(name=profile)
{
    "outcome" => "success",
    "result" => [
        {
            "address" => [("server-group" => "main-server-group")],
            "outcome" => "success",
            "result" => "full"
        },
        {
            "address" => [("server-group" => "other-server-group")],
            "outcome" => "success",
            "result" => "full-ha"
        }
    ]
}

ここでは、 を使用していると仮定しますmain-server-groupaccess-log次に、設定undertowサブシステムに追加する必要があります。

/profile=full/subsystem=undertow/server=default-server/host=default-host/setting=access-log:add(pattern="%A%t%h%l%u%r%s%b%T%I", directory="${jboss.server.log.dir}", prefix=access, suffix=".log")

これにより、そのサーバー グループ内のすべてのサーバーにアクセス ログが追加されます。ログが作成される前に、Web リクエスト経由でサーバーにアクセスする必要があります。再起動もリロードも必要ありません。

setting次のコマンドを使用すると、Undertow のリソースで使用できる設定を確認できます。

/profile=full/subsystem=undertow/server=default-server/host=default-host/setting=*:read-resource-description
于 2016-01-06T17:44:41.627 に答える
2

リクエストの処理にかかった時間を秒単位で記録する必要がある場合 (フォーマット属性 %T)、追加のパラメーターを追加する必要があります。

/profile=full/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=record-request-start-time,value=true)
于 2016-02-29T06:21:31.520 に答える