diff options
Diffstat (limited to 'libfusepp')
-rw-r--r-- | libfusepp/fuseAppBase.cpp | 2 | ||||
-rw-r--r-- | libfusepp/fuseAppBase.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/libfusepp/fuseAppBase.cpp b/libfusepp/fuseAppBase.cpp index 49f2d6b..b56b765 100644 --- a/libfusepp/fuseAppBase.cpp +++ b/libfusepp/fuseAppBase.cpp @@ -184,7 +184,7 @@ int FuseAppBase::fallocate(const char *, int, off_t, off_t, struct fuse_file_inf } int FuseAppBase::onError(const std::exception & e) throw() { - fprintf(stderr, "Unknown exception (what: %s)\n", e.what()); + log(LOG_ERR, stringf("Unknown exception (what: %s)\n", e.what())); return -ENOSYS; } diff --git a/libfusepp/fuseAppBase.h b/libfusepp/fuseAppBase.h index 1a4a0bc..a9be11b 100644 --- a/libfusepp/fuseAppBase.h +++ b/libfusepp/fuseAppBase.h @@ -7,6 +7,8 @@ #include <exception> #include <stdio.h> #include <errno.h> +#include <syslog.h> +#include <misc.h> #ifndef DLL_PUBLIC #define DLL_PUBLIC __attribute__ ((visibility ("default"))) #endif @@ -58,6 +60,7 @@ class DLL_PUBLIC FuseAppBase { virtual int flock(const char *, struct fuse_file_info *, int op); virtual int fallocate(const char *, int, off_t, off_t, struct fuse_file_info *); virtual int onError(const std::exception & err) throw(); + virtual void log(int level, const std::string &) const throw() = 0; virtual int fuse_opt_parse(struct fuse_args *args, void *data, const struct fuse_opt opts[], fuse_opt_proc_t proc) = 0; virtual int main(int, char **, const struct fuse_operations *) = 0; @@ -156,7 +159,7 @@ class DLL_PUBLIC FuseAppBase { return helper<f>(a...); } catch (...) { - fprintf(stderr, "Unknown exception calling %s\n", typeid(f).name()); + fuseApp->log(LOG_ERR, stringf("Unknown exception calling %s\n", typeid(f).name())); return -ENOSYS; } } |