クラスSocketHandler


public class SocketHandler extends StreamHandler
単純なネットワーク・ロギングHandler

LogRecordsは、ネットワーク・ストリーム接続に公開されます。 デフォルトでは、XMLFormatterクラスが書式設定に使用されます。

構成: デフォルトでは、各SocketHandlerは、次のLogManager構成プロパティを使用して初期化されます。<handler-name>は、ハンドラの完全修飾クラス名を示します。 プロパティが未定義である場合(または無効な値を持つ場合)、指定されたデフォルト値が使用されます。

  • <handler-name>.levelは、Handler (デフォルトはLevel.ALLです)のデフォルト・レベルを指定します。
  • <handler-name>.filterは、(デフォルトはFilterではありません)を使用するFilterクラスの名前を指定します。
  • <handler-name>.formatterは、(デフォルトはjava.util.logging.XMLFormatterです)を使用するFormatterクラスの名前を指定します。
  • <handler-name>.encodingは使用する文字セット・エンコーディングの名前を指定します(デフォルトは、デフォルト・プラットフォームのエンコーディング)。
  • <handler-name>.hostは、接続先のターゲット・ホスト名を指定します(デフォルトなし)。
  • <handler-name>.portは、使用するターゲットTCPポートを指定します(デフォルトなし)。

たとえば、SocketHandlerのプロパティは次のようになります。

  • java.util.logging.SocketHandler.level=INFO
  • java.util.logging.SocketHandler.formatter=java.util.logging.SimpleFormatter

カスタム・ハンドラ(例: com.foo.MyHandler)の場合、プロパティは次のようになります。

  • com.foo.MyHandler.level=INFO
  • com.foo.MyHandler.formatter=java.util.logging.SimpleFormatter

出力IOストリームはバッファリングされますが、各LogRecordが書き込まれた後にフラッシュされます。

導入されたバージョン:
1.4
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    LogManagerプロパティ(またはデフォルト)のみを使用して、SocketHandlerを作成します。
    SocketHandler(String host, int port)
    指定したホストおよびポートを使用してSocketHandlerを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    この出力ストリームを閉じます。
    void
    LogRecordを書式設定して公開します。

    クラスで宣言されたメソッド StreamHandler

    flush, isLoggable, setEncoding, setOutputStream
    修飾子と型
    メソッド
    説明
    void
    すべてのバッファされたメッセージをフラッシュします。
    boolean
    このHandlerが特定のLogRecordを実際にログに記録するかどうかを確認します。
    void
    setEncoding(String encoding)
    (または変更)に、このHandlerで使用される文字エンコーディングを設定します。
    protected void
    出力ストリームを変更します。

    クラス Handlerで宣言されたメソッド

    getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
    修飾子と型
    メソッド
    説明
    このHandlerの文字エンコーディングを返します。
    このHandlerのErrorManagerを取得します。
    このHandlerの現在のFilterを取得します。
    このHandlerFormatterを返します。
    このHandlerによってログに記録されるメッセージを指定するログ・レベルを取得します。
    protected void
    reportError(String msg, Exception ex, int code)
    このHandlerのErrorManagerにエラーを通知する簡易protected簡易メソッドです。
    void
    このHandlerのErrorManagerを定義します。
    void
    setFilter(Filter newFilter)
    Filterを設定して、このHandlerの出力を制御します。
    void
    setFormatter(Formatter newFormatter)
    Formatterを設定します。
    void
    setLevel(Level newLevel)
    このHandlerによってログに記録されるメッセージ・レベルを指定するログ・レベルを設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • SocketHandler

      public SocketHandler() throws IOException
      LogManagerプロパティ(またはデフォルト)のみを使用して、SocketHandlerを作成します。
      スロー:
      IllegalArgumentException - ホストまたはポートが無効であるか、LogManagerプロパティとして指定されていない場合。
      IOException - ターゲットのホストとポートに接続できない場合。
    • SocketHandler

      public SocketHandler(String host, int port) throws IOException
      指定したホストおよびポートを使用してSocketHandlerを作成します。 SocketHandlerは、指定されたターゲット・ホストおよびポート引数が使用されることを除き、LogManagerプロパティ(またはデフォルト値)に基づいて構成されます。 host引数が空であるがnull Stringでない場合、localhostが使用されます。
      パラメータ:
      host - ターゲット・ホスト。
      port - ターゲット・ポート。
      スロー:
      IllegalArgumentException - ホストまたはポートが無効な場合。
      IOException - ターゲットのホストとポートに接続できない場合。
  • メソッドの詳細

    • close

      public void close()
      この出力ストリームを閉じます。
      オーバーライド:
      close、クラスStreamHandler
    • publish

      public void publish(LogRecord record)
      LogRecordを書式設定して公開します。
      オーバーライド:
      publish、クラスStreamHandler
      実装要件:
      このメソッドは同期されず、サブクラスがsuper.publish()をコールするか、ユーザー引数をフォーマットする場合、オーバーライドされたpublish()メソッドをsynchronizedとして定義しないでください。 詳細は、java.util.logging.Handlerのディスカッションを参照してください。
      パラメータ:
      record - ログ・イベントの説明。 nullレコードは何の通知もなく無視され、発行されない