diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+### 0.2.0.0
+
+- **BREAKING**: Support info and debug verbosity. This changes the semantics of `--verbosity=3` and up.
+- Support reading the eventlog from stdin.
+- Support reading the eventlog from file.
+
 ### 0.1.0.1
 
 - Lower `cabal-version` constraint to `3.0`
diff --git a/eventlog-live-influxdb.cabal b/eventlog-live-influxdb.cabal
--- a/eventlog-live-influxdb.cabal
+++ b/eventlog-live-influxdb.cabal
@@ -1,17 +1,18 @@
 cabal-version:   3.0
 name:            eventlog-live-influxdb
-version:         0.1.0.1
+version:         0.2.0.0
 synopsis:        Stream eventlog data into InfluxDB.
 description:
   This executable supports live streaming of eventlog data into
   [InfluxDB](https://www.influxdata.com) version 1.8.
 
-  > Usage: eventlog-live-influxdb --eventlog-socket SOCKET
+  > Usage: eventlog-live-influxdb (--eventlog-stdin | --eventlog-file FILE |
+  >                                 --eventlog-socket SOCKET)
   >                               [--eventlog-socket-timeout NUM]
   >                               [--eventlog-socket-exponent NUM]
   >                               [--batch-interval NUM] [--eventlog-log-file FILE]
   >                               [-h Tcmdyrbi]
-  >                               [-v|--verbosity NUM|quiet|error|warning]
+  >                               [-v|--verbosity quiet|error|warning|info|debug|0-4]
   >                               [--influxdb-username USERNAME
   >                                 --influxdb-password PASSWORD]
   >                               [--influxdb-retention-policy RETENTION_POLICY]
@@ -19,16 +20,18 @@
   >                               [--influxdb-ssl] --influxdb-database DATABASE
   >
   > Available options:
-  >   --eventlog-socket SOCKET Eventlog Unix socket.
+  >   --eventlog-stdin         Read the eventlog from stdin.
+  >   --eventlog-file FILE     Read the eventlog from a file.
+  >   --eventlog-socket SOCKET Read the eventlog from a Unix socket.
   >   --eventlog-socket-timeout NUM
   >                            Eventlog socket connection retry timeout in
   >                            microseconds.
   >   --eventlog-socket-exponent NUM
   >                            Eventlog socket connection retry timeout exponent.
-  >   --batch-interval NUM     Batch interval in microseconds.
+  >   --batch-interval NUM     Batch interval in milliseconds.
   >   --eventlog-log-file FILE Use file to log binary eventlog data.
   >   -h Tcmdyrbi              Heap profile breakdown.
-  >   -v,--verbosity NUM|quiet|error|warning
+  >   -v,--verbosity quiet|error|warning|info|debug|0-4
   >                            The verbosity threshold for logging.
   >   --influxdb-username USERNAME
   >                            InfluxDB username
@@ -110,14 +113,14 @@
     , clock                  >=0.8.4 && <0.9
     , containers             >=0.6   && <0.8
     , dlist                  >=1.0   && <1.1
-    , eventlog-live          >=0.1   && <0.2
+    , eventlog-live          >=0.2   && <0.3
     , eventlog-live:options
     , eventlog-live:socket
     , ghc-events             >=0.20  && <0.21
     , influxdb               >=1.9.3 && <1.10
     , lens-family            >=2.1.3 && <2.2
     , machines               >=0.7.4 && <0.8
-    , optparse-applicative   >=0.19  && <0.20
+    , optparse-applicative   >=0.18  && <0.20
     , text                   >=1.2   && <2.2
 
 executable eventlog-live-influxdb
diff --git a/src/GHC/Eventlog/Live/InfluxDB.hs b/src/GHC/Eventlog/Live/InfluxDB.hs
--- a/src/GHC/Eventlog/Live/InfluxDB.hs
+++ b/src/GHC/Eventlog/Live/InfluxDB.hs
@@ -31,7 +31,12 @@
 import Database.InfluxDB.Line qualified as I (Line (..))
 import Database.InfluxDB.Types qualified as I
 import Database.InfluxDB.Write qualified as I
-import GHC.Eventlog.Live.Machines
+import GHC.Eventlog.Live.Data.Attribute
+import GHC.Eventlog.Live.Data.Metric
+import GHC.Eventlog.Live.Data.Span
+import GHC.Eventlog.Live.Machine
+import GHC.Eventlog.Live.Machine.Core
+import GHC.Eventlog.Live.Machine.WithStartTime
 import GHC.Eventlog.Live.Options
 import GHC.Eventlog.Live.Socket
 import GHC.Eventlog.Live.Verbosity (Verbosity)
@@ -64,8 +69,9 @@
           ~> batchByTick
           ~> mapping D.toList
           ~> influxDBWriter influxDBWriteParams
-  runWithEventlogSocket
-    eventlogSocket
+  runWithEventlogSource
+    verbosity
+    eventlogSource
     eventlogSocketTimeout
     eventlogSocketTimeoutExponent
     batchInterval
@@ -317,7 +323,7 @@
     O.idm
 
 data Options = Options
-  { eventlogSocket :: EventlogSocket
+  { eventlogSource :: EventlogSource
   , eventlogSocketTimeout :: Double
   , eventlogSocketTimeoutExponent :: Double
   , batchInterval :: Int
@@ -330,7 +336,7 @@
 optionsParser :: O.Parser Options
 optionsParser =
   Options
-    <$> eventlogSocketParser
+    <$> eventlogSourceParser
     <*> eventlogSocketTimeoutParser
     <*> eventlogSocketTimeoutExponentParser
     <*> batchIntervalParser
