diff --git a/update_testrail_xml/cmd.py b/update_testrail_xml/cmd.py
index 9238200..15fc922 100644
--- a/update_testrail_xml/cmd.py
+++ b/update_testrail_xml/cmd.py
@@ -40,6 +40,7 @@
         'OUTPUT_XUNIT_REPORT': 'output_report.xml',
         'XUNIT_NAME_TEMPLATE': '{id}',
         'TESTRAIL_NAME_TEMPLATE': '{custom_report_label}',
+        'TRACE_LEN': 100,
         'ISO_ID': None,
         'TESTRAIL_PLAN_NAME': None,
         'ENV_DESCRIPTION': '',
@@ -126,6 +127,11 @@
         default=defaults['TESTRAIL_TEST_SUITE'],
         help='testrail project suite name')
     parser.add_argument(
+        '--trace-len',
+        type=int,
+        default=defaults['TRACE_LEN'],
+        help='testrail project name')
+    parser.add_argument(
         '--send-skipped',
         action='store_true',
         default=False,
@@ -181,6 +187,7 @@
         logger_dict['level'] = logging.DEBUG
 
     logging.basicConfig(**logger_dict)
+    trace_len = args.trace_len
 
     reporter = Reporter(
         xunit_report=args.xunit_report,
@@ -206,6 +213,7 @@
 
     reporter.update_testcases(all_empty_cases)
     reporter.delete_duplicates()
+    reporter.cut_long_traces(trace_len)
     reporter.delete_temporary_file()
 
 
diff --git a/update_testrail_xml/reporter.py b/update_testrail_xml/reporter.py
index 0b9710e..beabebb 100644
--- a/update_testrail_xml/reporter.py
+++ b/update_testrail_xml/reporter.py
@@ -190,10 +190,28 @@
 
         logger.info(' Start saving results to the file: {}'.format(self.output_xunit_report))
         tree = ET.ElementTree(root)
-        tree.write(self.output_xunit_report)
+        tree.write(self.temporary_filename)
 
         logger.info(' {} file was created: {}'.format(self.output_xunit_report, self.check_file_exists(self.output_xunit_report)))
 
+    def cut_long_traces(self, trace_len):
+        tree = ET.parse(self.temporary_filename)
+        root = tree.getroot()
+
+        if root[0].tag == 'testsuite':
+            root = root[0]
+
+        for child in root:
+            try:
+                if child[0].text.count('\n') > trace_len:
+                    ind = [m.start() for m in re.finditer('\n', child[0].text)][-trace_len]
+                    old = child[0].text[ind:]
+                    child[0].text = old
+            except IndexError:
+                pass
+            tree = ET.ElementTree(root)
+            tree.write(self.output_xunit_report)
+
     def check_file_exists(self, filename):
         return str(os.path.isfile(filename))
 
