diff --git a/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java b/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java
index b5ee316..0bdd94b 100644
--- a/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java
+++ b/apps/events/src/main/java/org/onosproject/events/EventHistoryManager.java
@@ -44,6 +44,7 @@
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.edge.EdgePortService;
 import org.onosproject.net.host.HostService;
+import org.onosproject.net.intent.IntentService;
 import org.onosproject.net.link.LinkService;
 import org.onosproject.net.topology.TopologyService;
 import org.slf4j.Logger;
@@ -84,6 +85,9 @@
     protected EdgePortService edgeService;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+    protected IntentService intentService;
+
+    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected NetworkConfigService netcfgService;
 
     @Property(name = "excludeStatsEvent", boolValue = true,
@@ -127,6 +131,7 @@
                  .addListener(hostService, this::addEvent)
                  .addListener(clusterService, this::addEvent)
                  .addListener(edgeService, this::addEvent)
+                 .addListener(intentService, this::addEvent)
                  .addListener(netcfgService, this::addEvent);
 
         log.info("Started");
@@ -164,6 +169,9 @@
     }
 
     private void addEvent(Event<?, ?> event) {
+        if (log.isTraceEnabled()) {
+            log.trace(event.toString());
+        }
         history.offer(event);
     }
 
diff --git a/apps/events/src/main/java/org/onosproject/events/EventsCommand.java b/apps/events/src/main/java/org/onosproject/events/EventsCommand.java
index 3896f27..db8df10 100644
--- a/apps/events/src/main/java/org/onosproject/events/EventsCommand.java
+++ b/apps/events/src/main/java/org/onosproject/events/EventsCommand.java
@@ -32,6 +32,7 @@
 import org.onosproject.net.Link;
 import org.onosproject.net.device.DeviceEvent;
 import org.onosproject.net.host.HostEvent;
+import org.onosproject.net.intent.IntentEvent;
 import org.onosproject.net.link.LinkEvent;
 import org.onosproject.net.topology.Topology;
 import org.onosproject.net.topology.TopologyEvent;
@@ -78,7 +79,7 @@
             required = false)
     private boolean topology = false;
 
-    @Option(name = "--host", aliases = "-t",
+    @Option(name = "--host", aliases = "-h",
             description = "Include HostEvent",
             required = false)
     private boolean host = false;
@@ -88,6 +89,11 @@
             required = false)
     private boolean cluster = false;
 
+    @Option(name = "--intent", aliases = "-i",
+            description = "Include IntentEvent",
+            required = false)
+    private boolean intent = false;
+
     @Option(name = "--max-events", aliases = "-n",
             description = "Maximum number of events to print",
             required = false,
@@ -100,7 +106,7 @@
 
         Stream<Event<?, ?>> events = eventHistoryService.history().stream();
 
-        boolean dumpAll = all || !(mastership || device || link || topology || host || cluster);
+        boolean dumpAll = all || !(mastership || device || link || topology || host || cluster || intent);
 
         if (!dumpAll) {
             Predicate<Event<?, ?>> filter = (defaultIs) -> false;
@@ -123,6 +129,9 @@
             if (cluster) {
                 filter = filter.or(evt -> evt instanceof ClusterEvent);
             }
+            if (intent) {
+                filter = filter.or(evt -> evt instanceof IntentEvent);
+            }
 
             events = events.filter(filter);
         }
