を教えてください。
例えば
package org.fireproject.hibernatesample;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class ManyToOne
{
private static Logger logger = Logger.getRootLogger();
public static void main(String args[])
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
List oneSideList = createAndSaveOneSide(sessionFactory);
List manySideList = createAndSaveManySide(sessionFactory, oneSideList);
manySideList = loadManySides(sessionFactory);
updateOneSide(sessionFactory, oneSideList);
for (Iterator itr = manySideList.iterator(); itr.hasNext();)
{
ManySide manySide = (ManySide) itr.next();
logger.info(manySide);//<-----------------------
}
deleteAllManySide(sessionFactory);
deleteOneSide(sessionFactory, oneSideList);
manySideList = loadManySides(sessionFactory);
}
において
logger.info(manySide);
で出力されたログはどこにかかれるのでしょうか?
また、その出力先の設定方法も教えてください。
No.2ベストアンサー
- 回答日時:
>private static Logger logger = Logger.getRootLogger()
>を見るように設定するにはどうしたらいいのでしょうか?
getRootLoggerは使用したことないのでたぶんですが、
log4j.xmlにroot要素を追加することができるのでたぶんgetRootLoogerはそれに対応していると思います。
<root>
<appender-ref ref="FILE"/>
</root>
>また設定ファイルが全くない場合には
>そのログはどこにかかれるのでしょうか?
Log4jのソースを軽く見てみたところlog4j.xml、log4j.propertiesファイルが存在しない場合、ログレベルがOFFの状態(初期設定)になっているのでどこにも出力されないのではないかと思います。
(出たとしても標準出力くらいだと思います。)
No.1
- 回答日時:
この回答への補足
ありがとうございます。
環境は以下の通りです。
OS:Fedora10
Java:Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Eclipse:3.42
ただ単にライブラリとしてlog4j-1.2.14.jarを外部ライブラリとして参照しているだけであり
og4j.xm、log4j.propertiesはありません。
そこで次の様にしました。
package org.fireproject.hibernatesample;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class ManyToOne
{
//private static Logger logger = Logger.getRootLogger();
private static Logger logger = Logger.getLogger(ManyToOne.class.getName());//追加
public static void main(String args[])
{
DOMConfigurator.configure("log4j.xml");//追加
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
List<OneSide> oneSideList = createAndSaveOneSide(sessionFactory);
List<ManySide> manySideList = createAndSaveManySide(sessionFactory, oneSideList);
manySideList = loadManySides(sessionFactory);
updateOneSide(sessionFactory, oneSideList);
for (Iterator<ManySide> itr = manySideList.iterator(); itr.hasNext();)
{
ManySide manySide = (ManySide) itr.next();
logger.info(manySide);
}
deleteAllManySide(sessionFactory);
deleteOneSide(sessionFactory, oneSideList);
manySideList = loadManySides(sessionFactory);
deleteAllOneSide(sessionFactory);//追加
}
・・・・・・・・・・・・・・・・・・・・・・
log4j.xml:(プロジェクトトップに配置)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="File" value="log.txt" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
<category name="org.fireproject.hibernatesample">
<priority value="info" />
<appender-ref ref="FILE" />
</category>
</log4j:configuration>
するとプロジェクトのトップにあるファイルlog.txt
にログがかれるようになりました。
ただしログは
Logger.getLogger(ManyToOne.class.getName())
です。
private static Logger logger = Logger.getRootLogger()
を見るように設定するにはどうしたらいいのでしょうか?
また設定ファイルが全くない場合には
そのログはどこにかかれるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java Java 配列<選挙> 4 2023/07/31 15:07
- オープンソース Flaskでサーバー立ち上げに関して 1 2023/08/12 21:02
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- その他(プログラミング・Web制作) tkinterのimport文の書き方 2 2022/10/14 21:17
- 工学 Pythonの3次元描画に関する質問です 3 2022/12/07 20:07
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<forEach> 内で供給された "ite...
-
setAttribute(String, int)は適...
-
ActionForm form にnullが入っ...
-
ファイル名を動的に生成したい
-
干支の計算で。。。
-
シャットダウンフックが呼ばれない
-
import 文
-
「例外 *** は対応する try 文...
-
eclipseに記述したjavaファイル...
-
Javaじゃんけんゲーム
-
かなり初歩的なプログラミング...
-
文字列を数式に
-
アプレットが初期化されていま...
-
透過GIFの判定の仕方ありますか?
-
アプレットを実行すると、×が表...
-
アルファベットのソート
-
HTMLでのTableタグデータ取得方法
-
応用情報技術者試験の令和元年...
-
1~100までの数字を表示し、か...
-
ループ処理の際、最後だけ","を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
干支の計算で。。。
-
Selenium IDEでexportしたコー...
-
Javaを使ってデジタル時計を作...
-
ColabでのPytorchのエラー
-
importするには java.io.*; imp...
-
生年月日と今日の日付から年齢...
-
ファイル名を動的に生成したい
-
文字列を数式に
-
<forEach> 内で供給された "ite...
-
シャットダウンフックが呼ばれない
-
Javaからストアド実行(配列項目)
-
ActionForm form にnullが入っ...
-
setAttribute(String, int)は適...
-
(急募)JavaカレンダーをGUI可に...
-
文字サイズが可変のラベル
-
Java での グローバルIP取得
-
python OpenPyXLを使って出力結...
-
データの外挿について
おすすめ情報