Setting
awk4j
(AWK for Java Platform)
awk4j は、
各種動作条件の設定にプロパティファイルを使用しており
'awk4j.jar' 内に格納している。
(雛形は resources ディレクトリを参照)
これらの設定を変更する場合は、 変更したファイルの存在するディレクトリへのクラスパスを 'awk4j.jar' より先に通せばよい。
(ex. -cp resources;../lib/awk4j.jar)
- awk4j 実行環境の設定
- エラーおよび例外のロギング設定
- ロギングフレ-ムワークの設定
- コマンドエリアスの設定
- スクリプティング環境の設定
awk4j の動作環境を設定するプロパティで、
参照する順序は下記のとおり。
- 環境変数への設定 (export name=value)
- Java system property への設定 (java -Dname=value)
- クラスパスパスで指定した awk4j.propertys への設定
- awk4j.jar 中の awk4j.propertys への設定
# printf で表示する指数部の最小表示桁数
[-]d.dddde±[d]dd
org.awk4j.io.TextFormat.ExponentLength =
2 # 省略値はLinux環境 2桁 (ex. 3.4e+12)
Note: Win環境は 3、Linux環境は 2
桁を指定する。
# inet ソケット通信時のコード変換の省略値
org.awk4j.inet.InputCharSet=JISAutoDetect # 入力は
JIS自動検知
org.awk4j.inet.OutputCharSet=UTF-8
# 出力は UTF-8
# jdbc データベース URL
(jdbc:subprotocol:path) の subprotocol 省略値
org.awk4j.io.JdbcSocket.subprotocol=hsqldb #
jdbc:?:path
エラーと例外 (java.lang.Throwableのサブ
クラス) を指定して、 メッセージログおよびスタックトレースの取得の有無を個別に指定する。
実際のログ動作は、ログレベル (DEBUG, TRACE, INFO, WARN, ERROR, FATAL) を指定して、
次項のロギングフレ-ムワーク を使用しておこなわれる。
Note: awk4j の内部動作にかかわる部分であり、
特に変更する必要はないが、
デバッグ時など詳細エラーを出力する場合には有効。
##
全体に対する暗黙のデフォルト値を指定する
org.awk4j.exception.ExceptionLogger=true
# ログを取得する
org.awk4j.exception.ExceptionLogger.StackTrace=false
# スタックトレースはログしない
## awk4j ランタイムのログの有無を指定する
org.awk4j.exception.InfoAwk4jLogger=true
# awk4j情報ログを取得する
org.awk4j.exception.TraceAwk4jLogger=true
# awk4jトレ-スログを取得する
org.awk4j.exception.DebugException=true
# DEBUG:デバッグ
org.awk4j.exception.DebugException.StackTrace=false
org.awk4j.exception.IllegalArgumentError=true
# ERROR:アプリエラー
org.awk4j.exception.IllegalArgumentError.StackTrace=false
org.awk4j.exception.IllegalIOError=true
# ERROR:I/Oエラー
org.awk4j.exception.IllegalIOError.StackTrace=false
org.awk4j.exception.InformationLogger=true
# INFO:情報
org.awk4j.exception.InformationLogger.StackTrace=false
org.awk4j.exception.TraceLogger=true
# TRACE:トレ-ス
org.awk4j.exception.TraceLogger.StackTrace=false
org.awk4j.exception.WarningLogger=true
# WARN:警告
org.awk4j.exception.WarningLogger.StackTrace=false
## 個別のエラーについてログの有無を指定する (必要な定義を追加削除する)
java.util.regex.PatternSyntaxException=false #
正規表現のコンパイルエラーはログしない
java.io.FileNotFoundException=true
# ファイルが見つからない場合はログする
Note: 利用する機能の先頭の
"#"(コメント)
を外し利用しないものはコメントアウトする。
ロギングフレ-ムワークとして log4j を
利用している。 他のフレ-ムワークを利用する場合は、以下の中から選択可能。
- log4j
- The Jakarta Project
ロギングフレ-ムワークを利用 (デフォルト)
- Commons
Logging - The Jakarta Project ロギングフレ-ムワークを利用 (別途ダウンロードが必要)
- コンソール出力のみの簡易ログ
- Null (ロギングしない)
Note: 標準では log4j
を実装している。 組込み用途などで他のフレームワークを利用する場合には Commons Logging での抽象化を推奨する。
#
org.awk4j.exception.ExceptionLogger.logger=org.awk4j.logging.LogAdapter4Log4j
# logg4j
#
org.awk4j.exception.ExceptionLogger.logger=org.awk4j.logging.LogAdapter4Commons
# commons-logging
#
org.awk4j.exception.ExceptionLogger.logger=org.awk4j.logging.LogAdapter4Java
# コンソール出力
org.awk4j.exception.ExceptionLogger.logger=org.awk4j.logging.LogAdapter4Null
# ログなし(デ
フォルト)
log4j.properties
の内容
(詳細は log4j のドキュメントを参照; 既に log4j を利用している場合は、既存の定義ファイルにクラスパスを通せばよい)
log4j.rootLogger=TRACE, A1
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}: %p:
%m%n
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.MaxBackupIndex=2
# ログが 300kbを超えた場合はバックアップを作成して
2世代保存する
log4j.appender.A1.MaxFileSize=300KB
log4j.appender.A1.threshold=TRACE
log4j.appender.A1.File=../tmp/awk4j.log
# ログの出力先ファイル名 (実行時カレントの一つ上の
tmp ディレクトリ)
commons-logging.properties
のサンプル
(詳細は commons のドキュメントを参照)
#
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
# log4j を使用
#
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
# コンソール出力
#
org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
# ログしない
#
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
# JDK ログを使用
システムコマンド (system) 実行時に読み替えるコマンド文字列を指定する。 この設定は、
利用可能なシステムコマンドに (セキュリティ上の観点から) 制限を加えることを想定している。
## command = alias (必
要な定義を追加する)
# awk = /bin/gawk --lint
# sort = /bin/sort
Note: コマンドにパスが通っていない場合または、
コマンドパスを強制的に置き換える場合に使用する。
(上記の例では、Win の sort でなく /bin/sort を起動する)
スクリプティングの動作環境を設定する。
translator.include =
lib/include # include ライブラリの相対位置を指定する
translator.scriptpath = lib/script # トランスレータを GNU AWK
で実行する場合のライブラリパス指定 (標準では使用しない)