iT邦幫忙

0

JSP能不能紀錄log

大家好:
想請教
我有一個公司內部的網頁,用JSP寫的
因為有涉及到資料增刪
為了方便有人誤刪資料,我們能找到兇手
所以主管希望我能在JSP做個 LOG
記錄每天有誰登入
以及誰新增/刪除資料
這樣可行嗎?
有甚麼套件能用嗎?
謝謝

0
最佳解答

請服用logforj java,各類java系統都會用的log套件,也有其他語言的版本…
https://blog.xuite.net/chihho32/blog/9121126-%5BJAVA%5D+Log4J

看更多先前的回應...收起先前的回應...

小弟補充log4j 目前最新版是這個:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
神威 iT邦新手 3 級 ‧ 2018-10-02 10:22:29 檢舉

大大好:
我java寫上去就一直錯誤....
我也有import jar,也有加入xml和property了.
不知錯在哪....

Servlet.java

public class Servlet {
    	private static Logger logger = Logger.getLogger(Servlet.class);
   public static void main(String[] args) {
     BasicConfigurator.configure();
     logger.info("This is an info message.");
 }

謝謝

神威 iT邦新手 3 級 ‧ 2018-10-02 11:00:57 檢舉

大大好:
我已經可以產生log檔了
但我試著紀錄帳號密碼
我的log或是txt都空白耶

<%@page import="java.util.logging.FileHandler"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file = "db.jsp"%> 
<%@ page import="org.apache.log4j.*" %>
<!DOCTYPE html>
<html>
   
    <body>
    <center>登入系統</br> </br> 
    
<div class="container">
<form class="form-horizontal" action="login.jsp" method = "post">
    <div class="form-group">
     帳號:
    <input type="account" id="acc"  name="acc">
    </div>
    <div class="form-group">
     密碼:          
<input type="password" id="pwd"  name="pwd">
    </div>
    
    <div class="form-group">        
<button type="submit"  name = "login">登入</button> 
    </div>
  </form>

<%       String acc = request.getParameter("acc");
       String pwd = request.getParameter("pwd");
    PropertyConfigurator.configure("../WEB-INF/log4j.properties");
Logger log = Logger.getLogger(this.getClass());
   FileHandler fileHandler = new FileHandler("C:/Log/test.log");
	    
log.info(acc+ "  "+pwd);
    int i;
    String sql;
         if(request.getParameter("login") != null )
           {  sql = "select* from login where acc= '" + acc + "' and pwd=  '" + pwd + "'"; 
                ResultSet rs = stmt.executeQuery(sql); 
       while(rs.next()){ 
         response.sendRedirect("index.jsp");
           }
              out.println("帳密錯誤!!"); 
	  } 

	%> 
        </div>
    </body>
</html>

</html>
神威 iT邦新手 3 級 ‧ 2018-10-02 14:15:14 檢舉

大大好:
已解

神威 iT邦新手 3 級 ‧ 2018-10-02 15:56:49 檢舉

你好:
想再請教一下,
我能不能每天只有一個log就好了啊
我發現每案一次確認,他就會產出一個log,很亂....
有沒有辦法讓他集中成一個呢?
謝謝

0
神威 iT邦新手 3 級 ‧ 2018-10-02 13:42:57 檢舉

大大好:
我已經可以產生log檔了
但我試著紀錄帳號密碼
我的log或是txt都空白耶
----
大大好:
已解

0
海綿寶寶
iT邦超人 1 級 ‧ 2018-10-02 08:45:48

1.可行
2.沒有套件,自己寫
選我正解

神威 iT邦新手 3 級 ‧ 2018-10-02 10:24:05 檢舉

你好:
請問該如何寫,有方向嗎?
謝謝

簡單方向:
1.新建一個table,用以存放你想記錄的資訊,例:
userid, timestamp, action, key1, key2....
2.新建一個 jsp, 專門提供各個「記錄資訊」的 function
3.在各個你要記錄的 jsp, 引用步驟2的 jsp, 並呼叫其中的 function
4.新建一個 jsp, 提供以「userid」、「動作」或「時間」查詢 Log 的功能

我要發表回答

立即登入回答