@Override protected String convert(LoggingEvent event) { Context context = Context.getCurrentContext(); if (context == null) { return "*"; } else { Stack stack=context.getStack(); final StringBuilder sb = new StringBuilder(); if(!stack.isEmpty()){ sb.append(stack.getFirst().getTagName()); } stack.traverse(new IStackTraverser() { @Override public boolean onItem(IEntity entity, ITag tag) { String name = entity.getResource().getName(); if (StringUtils.isBlank(name)) { name = "?"; } sb.insert(0, " > ").insert(0, tag.getLineNumber()).insert(0, "@").insert(0, name); return fullStack; } }); // when it has no stack, it shows question mark. return sb.length() > 0 ? sb.toString() : "?"; } }
@Override protected String convert(LoggingEvent event) { Context context = Context.getCurrentContext(); if (context == null) { return "*"; } else { Stack stack=context.getStack(); final StringBuilder sb = new StringBuilder(); if(!stack.isEmpty()){ sb.append(stack.getFirst().getTagName()); } stack.traverse(new IStackTraverser() { @Override public boolean onItem(IEntity entity, ITag tag) { String name = entity.getResource().getName(); if (StringUtils.isBlank(name)) { name = "?"; } sb.insert(0, " > ").insert(0, tag.getLineNumber()).insert(0, "@").insert(0, name); return fullStack; } }); // when it has no stack, it shows question mark. return sb.length() > 0 ? sb.toString() : "?"; } }
/** * Add a screenshot to a context. * * @param file * @return */ private static int addSnapshot(Context context, File file) { List<SnapshotInfo> list = (List<SnapshotInfo>) context.getInternalObject(Keys.SNAPSHOTS, true); if (list == null) { list = new ArrayList<SnapshotInfo>(1); context.setInternalObject(Keys.SNAPSHOTS, list, true); } final SnapshotInfo si = new SnapshotInfo(); si.setFile(file); context.getStack().traverse(new IStackTraverser() { public boolean onItem(IEntity entity, ITag tag) { CallStack cs = new CallStack(); cs.setEntity(entity); cs.setTag(tag); si.getCallStack().add(cs); return true; } }); list.add(si); return list.size(); }
exceptionContext.getStack().traverse(new IStackTraverser() {
exceptionContext.getStack().traverse(new IStackTraverser() {
/** * Add a screenshot to a context. * * @param file * @return */ private static int addSnapshot(Context context, File file) { List<SnapshotInfo> list = (List<SnapshotInfo>) context.getInternalObject(Keys.SNAPSHOTS, true); if (list == null) { list = new ArrayList<SnapshotInfo>(1); context.setInternalObject(Keys.SNAPSHOTS, list, true); } final SnapshotInfo si = new SnapshotInfo(); si.setFile(file); context.getStack().traverse(new IStackTraverser() { public boolean onItem(IEntity entity, ITag tag) { CallStack cs = new CallStack(); cs.setEntity(entity); cs.setTag(tag); si.getCallStack().add(cs); return true; } }); list.add(si); return list.size(); }