Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Action<User> action = new Action(User, "Buy a ticket")
.add("PersonCode")
.add("PersonName")
.add("ContactInformation.EmailAddress")
.add("ContactInformation.Language");
LogUtil.log(action);
.add("BuyerName", user.getPersonName())Хотя не всегда это нужно, особенно если лог используется только для отладки..add(p => p.getPersonCode())
public Action getLogAction(); public static Action getAction(Logable obj) {
return obj.getLogAction();
}
public static void logAction(Logable obj) {
log(getAction(obj);
}
Keep API simple