初学java:日志的写法之一
接口
package com.xuedao.proxy;
public interface IUserService {
void add();
void del();
void upd();
}
UserServiceImpl
package com.xuedao.proxy;
public class UserServiceImpl implements IUserService{
@Override
public void add() {
System.out.println("添加用户成功");
}
@Override
public void del() {
System.out.println("删除用户成功");
}
@Override
public void upd() {
System.out.println("修改用户成功");
}
}
UserProxy
package com.xuedao.proxy;
import java.io.File;
import com.xuedao.utils.DateUtil;
import com.xuedao.utils.FileUtil;
public class UserProxy implements IUserService{
private IUserService user;
public UserProxy(IUserService user) {
super();
this.user = user;
}
public UserProxy() {
super();
}
@Override
public void add() {
FileUtil.writeToFile(new File("D:\\QQ文件\\log\\user.log"), DateUtil.getDate()+"开始添加一个用户");
user.add();
FileUtil.writeToFile(new File("D:\\QQ文件\\log\\user.log"), DateUtil.getDate()+"添加一个用户成功");
}
@Override
public void del() {
FileUtil.writeToFile(new File("D:\\QQ文件\\log\\user.log"), DateUtil.getDate()+"开始删除一个用户");
user.del();
FileUtil.writeToFile(new File("D:\\QQ文件\\log\\user.log"), DateUtil.getDate()+"删除一个用户成功");
}
@Override
public void upd() {
FileUtil.writeToFile(new File("D:\\QQ文件\\log\\user.log"), DateUtil.getDate()+"开始修改一个用户");
user.upd();
FileUtil.writeToFile(new File("D:\\QQ文件\\log\\user.log"), DateUtil.getDate()+"修改一个用户成功");
}
}
工具类DateUtil
package com.xuedao.utils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
public static String getDate() {
Date date = new Date();
DateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return f.format(date);
}
}
工具类FileUtil
package com.xuedao.utils;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
//写数据到文件中
public class FileUtil {
public static void writeToFile(File file,String msg) {
BufferedWriter out = null;
try {
out = new BufferedWriter(new FileWriter(file,true));
out.write(msg);
out.flush();
out.newLine();
out.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(out != null) {
out.close();
}
} catch (Exception e2) {
// TODO: handle exception
}
}
}
}
实现-Main方法
package com.xuedao.proxy;
/**
* 写日志
* 代理模式:
* 动态的在原有的功能基础上添加其他新的功能
* @author 阿超
*
*/
public class MainClass {
public static void main(String[] args) throws InterruptedException {
IUserService user = new UserServiceImpl();
IUserService userProxy = new UserProxy(user);
userProxy.add();
Thread.sleep(3000);
userProxy.del();
Thread.sleep(3000);
userProxy.upd();
}
}