質問編集履歴

2

やってみたことを追加

2020/09/17 08:36

投稿

Y.Mamoru
Y.Mamoru

スコア47

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  class Sample{
46
46
 
47
- private Logger log = Logger.getLogger(Sample.class);//◆◆
47
+ private Logger log = Logger.getLogger(Sample.class);//◆◆(Sample.class.getName())としても結果は変わりませんでした。
48
48
 
49
49
  void runSample() {
50
50
 

1

質問を具体的に変更

2020/09/17 08:36

投稿

Y.Mamoru
Y.Mamoru

スコア47

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,3 @@
1
- 具体的にコードのここがわからない、というよりもっと以前の
2
-
3
- コードの作り方からの質問になってしまうのですが、
4
-
5
1
  表題の通りlog4jをアプリケーションの中でどのように実行させればよいかがわからなくなりました。
6
2
 
7
3
 
@@ -34,9 +30,21 @@
34
30
 
35
31
 
36
32
 
33
+ public class logsample{
34
+
35
+ public void LOG() {
36
+
37
+ Sample s = new Sample();
38
+
39
+ s.runSample();
40
+
41
+ }
42
+
43
+ }
44
+
37
45
  class Sample{
38
46
 
39
- private Logger log = Logger.getLogger(Sample.class);
47
+ private Logger log = Logger.getLogger(Sample.class);//◆◆
40
48
 
41
49
  void runSample() {
42
50
 
@@ -46,11 +54,7 @@
46
54
 
47
55
 
48
56
 
49
- String a = "テスト";
57
+ String a = "logが出力されました";
50
-
51
- log.trace(a);//出力なし
52
-
53
- log.debug(a);//2020/09/17テスト
54
58
 
55
59
  log.info(a);//2020/09/17テスト
56
60
 
@@ -64,20 +68,6 @@
64
68
 
65
69
  }
66
70
 
67
- public class logsample{
68
-
69
- public static void main (String[] args) {
70
-
71
- Sample s = new Sample();
72
-
73
- s.runSample();
74
-
75
- }
76
-
77
- }
78
-
79
-
80
-
81
71
  ```
82
72
 
83
73
  ```propaties
@@ -96,8 +86,6 @@
96
86
 
97
87
  ```
98
88
 
99
-
100
-
101
89
  javaファイルを単独で実行して、テキストファイルに出力させることは出来ています。
102
90
 
103
91
  しかしこれをどのようにして組み込めばいいのかがわかりません。
@@ -106,8 +94,116 @@
106
94
 
107
95
  今考えているのは、jspからservletにデータの受け渡しがあった際に、データのチェックを入れて
108
96
 
109
- その結果如何によってlogを出力する。つまりはservletの中にjavaを呼び出す文を書くのかと思っているのでが、その方法も今調べいる段階でわかりせん
97
+ その結果如何によってlogを出力する。つまりはservletの中にjavaを呼び出す文を書くのかと思っていこでjspファイルを以下ように書いした
98
+
110
-
99
+ ★マークのところでjavaファイルを読み込み、実行してくれたと思うのですが、エラーになります。
100
+
111
-
101
+ エラー内容は、
102
+
103
+ javax.servlet.ServletException: サーブレットの実行により例外を投げました
104
+
105
+ java.lang.NoClassDefFoundError: org/apache/log4j/Logger
106
+
107
+ Log.Sample.<init>(logsample.java:13)
108
+
109
+ Log.logsample.LOG(logsample.java:8)
110
+
111
+ Log.DeleteServlet.doPost(DeleteServlet.java:30)
112
+
113
+ です。
114
+
115
+ javaファイルの◆マークの部分でエラーが発生しているようなのですが、どこが間違っているのかわかりません。
112
116
 
113
117
  アドバイスをお願いします。
118
+
119
+
120
+
121
+
122
+
123
+ ```jsp
124
+
125
+ package Log;
126
+
127
+
128
+
129
+ import java.io.IOException;
130
+
131
+ import java.sql.Connection;
132
+
133
+ import java.sql.PreparedStatement;
134
+
135
+ import java.sql.ResultSet;
136
+
137
+ import java.sql.SQLException;
138
+
139
+ import java.sql.Statement;
140
+
141
+ import java.sql.Timestamp;
142
+
143
+ import java.text.SimpleDateFormat;
144
+
145
+ import java.util.ArrayList;
146
+
147
+ import java.util.List;
148
+
149
+
150
+
151
+ import javax.servlet.ServletException;
152
+
153
+ import javax.servlet.http.HttpServlet;
154
+
155
+ import javax.servlet.http.HttpServletRequest;
156
+
157
+ import javax.servlet.http.HttpServletResponse;
158
+
159
+
160
+
161
+
162
+
163
+ public class DeleteServlet extends HttpServlet {
164
+
165
+ private static final long serialVersionUID = 1L;
166
+
167
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
168
+
169
+ request.setCharacterEncoding("utf-8");
170
+
171
+ //接続準備
172
+
173
+ Connection conn = null;
174
+
175
+ PreparedStatement smt = null;
176
+
177
+ Statement smt2 = null;
178
+
179
+ String a = request.getParameter("flag");
180
+
181
+
182
+
183
+ logsample log = new logsample();
184
+
185
+ log.LOG();//★★
186
+
187
+
188
+
189
+ try {
190
+
191
+ //入力された番号にあった情報を抜き出してきている
192
+
193
+ String d = request.getParameter("deleteno");
194
+
195
+ String sql_d ="SELECT * FROM Information WHERE No = " + d ;
196
+
197
+ conn = DBManager.getConnection();
198
+
199
+
200
+
201
+ ~省略~
202
+
203
+ ```
204
+
205
+
206
+
207
+
208
+
209
+ アドバイスをお願いします。