diff --git a/.gitignore b/.gitignore
index 23155c5..6500baa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,4 +25,5 @@
 stamp-h1
 phosphor-dbus-monitor
 generated.hpp
+errors.hpp
 test-driver
diff --git a/src/Makefile.am b/src/Makefile.am
index 211cb9f..c6a041f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,6 +29,7 @@
 	templates/generated.mako.hpp \
 	templates/journal.mako.cpp \
 	templates/elog.mako.cpp \
+	templates/errors.mako.hpp \
 	templates/method.mako.cpp
 
 generated.hpp: $(PDMGEN) $(YAML_PATH) $(TEMPLATES)
diff --git a/src/pdmgen.py b/src/pdmgen.py
index ac2b8e0..dc2c704 100755
--- a/src/pdmgen.py
+++ b/src/pdmgen.py
@@ -660,6 +660,28 @@
             indent=indent)
 
 
+class Elog(Callback, Renderer):
+    '''Handle the elog callback config file directive.'''
+
+    def __init__(self, *a, **kw):
+        self.error = kw.pop('error')
+        super(Elog, self).__init__(**kw)
+
+    def construct(self, loader, indent):
+
+        with open('errors.hpp', 'a') as fd:
+            fd.write(
+                self.render(
+                    loader,
+                    'errors.mako.hpp',
+                    c=self))
+        return self.render(
+            loader,
+            'elog.mako.cpp',
+            c=self,
+            indent=indent)
+
+
 class Method(ConfigEntry, Renderer):
     '''Handle the method callback config file directive.'''
 
@@ -827,6 +849,7 @@
             },
             'callback': {
                 'journal': Journal,
+                'elog': Elog,
                 'group': GroupOfCallbacks,
                 'method': Method,
             },
@@ -930,6 +953,9 @@
 
     def generate_cpp(self, loader):
         '''Render the template with the provided data.'''
+        # errors.hpp is used by generated.hpp to included any error.hpp files
+        open('errors.hpp', 'w+')
+
         with open(args.output, 'w') as fd:
             fd.write(
                 self.render(
diff --git a/src/templates/elog.mako.cpp b/src/templates/elog.mako.cpp
index e69de29..894ecde 100644
--- a/src/templates/elog.mako.cpp
+++ b/src/templates/elog.mako.cpp
@@ -0,0 +1 @@
+std::make_unique<Elog<sdbusplus::${c.error}>>()\
diff --git a/src/templates/errors.mako.hpp b/src/templates/errors.mako.hpp
new file mode 100644
index 0000000..e28d9f9
--- /dev/null
+++ b/src/templates/errors.mako.hpp
@@ -0,0 +1 @@
+#include "${c.error.split('Error::', 1)[0].replace('::','/')}error.hpp"
diff --git a/src/templates/generated.mako.hpp b/src/templates/generated.mako.hpp
index b8ad523..04f2bde 100644
--- a/src/templates/generated.mako.hpp
+++ b/src/templates/generated.mako.hpp
@@ -8,6 +8,8 @@
 #include "count.hpp"
 #include "data_types.hpp"
 #include "journal.hpp"
+#include "elog.hpp"
+#include "errors.hpp"
 #include "method.hpp"
 #include "propertywatchimpl.hpp"
 #include "sdbusplus.hpp"
