[#BloombergLP-ball-LoggerManager-addCategoryHierarchically]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/LoggerManager.adoc[LoggerManager]::addCategoryHierarchically
:relfileprefix: ../../../
:mrdocs:

Add a new category having the specified `categoryName`&semi; return the address of the modifiable new category on success, and 0, with no effect, if a category by that name already exists or if the number of existing categories has reached the maximum capacity&period; The newly created category will have its threshold levels chosen primarily from two sources&colon; threshold levels of an existing category or a category setting (to which no category exists) choosing the one whose name is the longest non&hyphen;empty prefix of `categoryName`&period; If such a category or setting exists, and the default threshold levels (which might be overridden by a default threshold levels callback) otherwise&period; See also `ball&colon;&colon;CategoryManager&colon;&colon;addCategoryHierarchically`&period;

== Synopsis

Declared in `&lt;ball&lowbar;loggermanager&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/ball/Category.adoc[Category]*
addCategoryHierarchically(char const* categoryName);
----


[.small]#Created with https://www.mrdocs.com[MrDocs]#
