diff --git a/catalogue/MysqlCatalogue.cpp b/catalogue/MysqlCatalogue.cpp
index b8109ac119c1a6d5a79bc6155701cba9353dbe78..831accb15c64a448293086e386818a4a8cd321c1 100644
--- a/catalogue/MysqlCatalogue.cpp
+++ b/catalogue/MysqlCatalogue.cpp
@@ -606,7 +606,7 @@ void MysqlCatalogue::deleteArchiveFile(const std::string &diskInstanceName, cons
         << " creationTime: " << it->creationTime
         << " fileSize: " << it->fileSize
         << " checksumBlob: " << it->checksumBlob //this shouldn't be here: repeated field
-        << " copyNb: " << it->copyNb //this shouldn't be here: repeated field
+        << " copyNb: " << static_cast<int>(it->copyNb) //this shouldn't be here: repeated field
         << " supersededByVid: " << it->supersededByVid
         << " supersededByFSeq: " << it->supersededByFSeq;
       spc.add("TAPE FILE", tapeCopyLogStream.str());
diff --git a/catalogue/OracleCatalogue.cpp b/catalogue/OracleCatalogue.cpp
index f5e46c7fb0982703e818ecb86eef65ca7ff9e5d7..0658274f7662330fb66f02691b9f2f2803fc5512 100644
--- a/catalogue/OracleCatalogue.cpp
+++ b/catalogue/OracleCatalogue.cpp
@@ -855,14 +855,14 @@ void OracleCatalogue::deleteArchiveFile(const std::string &diskInstanceName, con
          .add("selectFromArchiveFileTime", selectFromArchiveFileTime);
       for(auto it=archiveFile->tapeFiles.begin(); it!=archiveFile->tapeFiles.end(); it++) {
         std::stringstream tapeCopyLogStream;
-        tapeCopyLogStream << "copy number: " << it->copyNb
+        tapeCopyLogStream << "copy number: " << static_cast<int>(it->copyNb)
           << " vid: " << it->vid
           << " fSeq: " << it->fSeq
           << " blockId: " << it->blockId
           << " creationTime: " << it->creationTime
           << " fileSize: " << it->fileSize
           << " checksumBlob: " << it->checksumBlob //this shouldn't be here: repeated field
-          << " copyNb: " << it->copyNb //this shouldn't be here: repeated field
+          << " copyNb: " << static_cast<int>(it->copyNb) //this shouldn't be here: repeated field
           << " supersededByVid: " << it->supersededByVid
           << " supersededByFSeq: " << it->supersededByFSeq;
         spc.add("TAPE FILE", tapeCopyLogStream.str());
@@ -929,7 +929,7 @@ void OracleCatalogue::deleteArchiveFile(const std::string &diskInstanceName, con
         << " creationTime: " << it->creationTime
         << " fileSize: " << it->fileSize
         << " checksumBlob: " << it->checksumBlob //this shouldn't be here: repeated field
-        << " copyNb: " << it->copyNb //this shouldn't be here: repeated field
+        << " copyNb: " << static_cast<int>(it->copyNb) //this shouldn't be here: repeated field
         << " supersededByVid: " << it->supersededByVid
         << " supersededByFSeq: " << it->supersededByFSeq;
       spc.add("TAPE FILE", tapeCopyLogStream.str());
diff --git a/catalogue/PostgresCatalogue.cpp b/catalogue/PostgresCatalogue.cpp
index bc606dcdcdd80214022ed0e68cc83b28174655c7..0b692bb996349cbaaab2a0bad3decffc4f588172 100644
--- a/catalogue/PostgresCatalogue.cpp
+++ b/catalogue/PostgresCatalogue.cpp
@@ -863,7 +863,7 @@ void PostgresCatalogue::deleteArchiveFile(const std::string &diskInstanceName, c
         << " creationTime: " << it->creationTime
         << " fileSize: " << it->fileSize
         << " checksumBlob: " << it->checksumBlob //this shouldn't be here: repeated field
-        << " copyNb: " << it->copyNb //this shouldn't be here: repeated field
+        << " copyNb: " << static_cast<int>(it->copyNb) //this shouldn't be here: repeated field
         << " supersededByVid: " << it->supersededByVid
         << " supersededByFSeq: " << it->supersededByFSeq;
       spc.add("TAPE FILE", tapeCopyLogStream.str());
diff --git a/catalogue/SqliteCatalogue.cpp b/catalogue/SqliteCatalogue.cpp
index 059a9d67e55b6ba172be8ad1a0dec772a0580d11..0b77f36b3c7d03a158ed906200fd7df52d06a497 100644
--- a/catalogue/SqliteCatalogue.cpp
+++ b/catalogue/SqliteCatalogue.cpp
@@ -175,7 +175,7 @@ void SqliteCatalogue::deleteArchiveFile(const std::string &diskInstanceName, con
         << " creationTime: " << it->creationTime
         << " fileSize: " << it->fileSize
         << " checksumBlob: " << it->checksumBlob //this shouldn't be here: repeated field
-        << " copyNb: " << it->copyNb //this shouldn't be here: repeated field
+        << " copyNb: " << static_cast<int>(it->copyNb) //this shouldn't be here: repeated field
         << " supersededByVid: " << it->supersededByVid
         << " supersededByFSeq: " << it->supersededByFSeq;
       spc.add("TAPE FILE", tapeCopyLogStream.str());
diff --git a/common/dataStructures/TapeFile.cpp b/common/dataStructures/TapeFile.cpp
index d651b70ffd4663770214f76cb75674f4eca0e746..de35f46a66b6926ecc1612fb28a37a07a6e29ddc 100644
--- a/common/dataStructures/TapeFile.cpp
+++ b/common/dataStructures/TapeFile.cpp
@@ -68,7 +68,7 @@ std::ostream &operator<<(std::ostream &os, const TapeFile &obj) {
      << " fSeq=" << obj.fSeq
      << " blockId=" << obj.blockId
      << " fileSize=" << obj.fileSize
-     << " copyNb=" << obj.copyNb
+     << " copyNb=" << static_cast<int>(obj.copyNb)
      << " creationTime=" << obj.creationTime;
    if (obj.supersededByVid.size()) {
      os << " supersededByVid=" << obj.supersededByVid
diff --git a/common/log/Param.cpp b/common/log/Param.cpp
index 314d42d4d61c7cc47df3939257dc3962a7ef3db6..8a2b7c3674d99363e9067148a33125449d0a20d5 100644
--- a/common/log/Param.cpp
+++ b/common/log/Param.cpp
@@ -37,5 +37,12 @@ const std::string &Param::getValue() const throw() {
   return m_value;
 }
 
+template<>
+void Param::setValue<uint8_t>(const uint8_t& value) throw(){
+  std::stringstream oss;
+    oss << static_cast<int>(value);
+    m_value = oss.str();
+}
+
 } // namespace log
 } // namespace cta
diff --git a/common/log/Param.hpp b/common/log/Param.hpp
index 0fcaaf0ba8040d3c21c2280bf152710d1f804fb3..f7528db515ac634d22b422211457299078bc000c 100644
--- a/common/log/Param.hpp
+++ b/common/log/Param.hpp
@@ -45,6 +45,13 @@ public:
     oss << value;
     m_value = oss.str();
   }
+    
+  Param(const std::string & name, const uint8_t & value) throw():
+  m_name(name) {
+    std::ostringstream oss;
+    oss << static_cast<int>(value);
+    m_value = oss.str();
+  }
   
   /**
    * Constructor.